Frida 환경구축
1. Anaconda 파이썬 환경구축
- 프리다는 파이썬 버전에 영향을 많이 받기 때문에 다양한 파이썬 버전을 관리할 수 있는 Anaconda의 설치는 필수다.
1) Anaconda 다운로드 및 설치
A. Anaconda 다운로드
B. Anaconda 설치
- Next를 누르다가 Advanced Option 이 나오면 Add Anaconda to system PATH enviroment variable을 체크한다.
C. 설치 확인
conda --version
명령어를 이용하여 Anaconda가 잘 설치되었는지 확인한다.
2) 독립된 파이썬 환경 구축
A. conda create
conda create -n '환경이름' python=파이썬버전 -y
을 이용해서 사용할 파이썬 환경을 만들어준다.
1
> conda create -n py3.7.1 python=3.7.1 -y
B. activate
activate '사용할 환경이름'
명령어를 입력하여 원하는 파이썬 버전의 환경을 사용할 수 있다.
1
> activate py3.7.1
2. NOX 앱 플레이어 설치
1) NOX 다운로드 및 설치
- NOX 다운로드 링크 : https://www.bignox.com/
2) NOX 설정
- NOX 앱 플레이어를 실행시키고 상단의 ⚙️을 누르고
기본설정 → 시작항목 → ROOT 켜기
를 체크해줍니다. - 설정저장을 누르고 NOX 앱 플레이어를 재부팅 합니다.
3) nox_adb(adb) 환경변수 설정
- nox_adb 그리고 adb는 NOX가 설치되어있는 폴더의 bin 폴더 안에 있음.
NOX 가 설치되어 있는 폴더 안에 있는
bin
폴더를 환경변수에 등록한다.→ default는
C:\Program Files (x86)\Nox\bin\
에 있음.- 환경변수 등록하기 :
작업탐색기 → 내 pc 우클릭 → 속성 → 고급 시스템 설정 → 환경변수
3. FRIDA 설치
- 위에서 구축한 파이썬 환경에서
pip install frida-tools
를 입력해 FRIDA를 설치한다.
1
(py3.7.1) > pip install frida-tools
- 설치가 잘 되었는지 확인하기 위해
frida --version
을 입력한다.
1
2
(py3.7.1) > frida --version
15.1.1
4. FRIDA 서버 실행
로컬 컴퓨터에 설치한 FRIDA와 안드로이드 에뮬레이터가 서로 통신하기 위해서는 에뮬레이터에 FRIDA 서버를 실행해야 한다.
1) 안드로이드 비트 확인
adb shell
혹은nox_adb shell
을 입력하여 에뮬레이터 쉘에 접속한다.getprop ro.product.cpu.abi
명령을 이용해 안드로이드 비트를 확인한다.
1
2
3
(py3.7.1) > adb shell
# getprop ro.product.cpu.abi
x86
2) frida-server 다운로드
frida 버전과 안드로이드 비트에 맞춰서 아래의 링크를 통해 frida-server 파일을 다운로드 한다.
본 예제의 frida 버전은 15.1.1 이고 안드로이드 비트는 32비트(x86) 이므로 frida-server-15.1.1-android-x86.xz
를 다운로드 했다.
- frida-server 다운로드 링크 : https://github.com/frida/frida/releases
3) 안드로이드 에뮬레이터로 frida-server 옮기기
- frida-server 파일의 압축을 푼다.
adb push
명령어를 통해 안드로이드 에뮬레이터의/data/local/tmp
경로로 frida-server 파일을 옮긴다.→
adb push frida-server 파일이 있는 경로 /data/local/tmp
1
> adb push frida-server-15.1.1-android-x86 /data/local/tmp
4) frida-server 파일 실행하기
adb shell
을 통해 에뮬레이터 쉘에 접속한다.cd /data/local/tmp
로 경로이동chmod 755 frida-server-15.1.1-android-x86
을 통해 실행권한을 준다../frida-server-15.1.1-android-x86 &
백그라운드로 frida-server 실행시킨다.ps | grep frida
로 frida 서버가 잘 실행되었는지 확인한다.
5) frida와 안드로이드 연결 확인
frida-ps -U
명령을 사용해서 안드로이드 에뮬레이터에서 동작하고 있는 프로세스를 확인한다.→
-U
옵션은 USB 옵션을 의미한다. frida는 USB 장치를 인식하지만 에뮬레이터가 동작하고 있는 경우 에뮬레이터로 인식하여 작동한다.
This post is licensed under CC BY 4.0 by the author.