FRIDA는 클라이언트와 가상머신에 서버를 설치하여 통신하는 방식으로 사용한다.
따라서, 클라이언트와 가상머신에 각각 설치해줘야 한다.
1 . 클라이언트 설치
Python 3.8.5 사용
pip install frida
pip insatll frida-tools
# 개인적으로 사용하는 버전
pip install frida==12.9.7
pip install frida-tools==7.2.2
Plain Text
복사
2. 대상 단말기에 서버 설치
디바이스에 맞는 FRIDA-Server 설치
frida-server 로 시작하는 파일들 중 맞는 파일을 선택하면 된다. 아래 명령어를 사용하면 CPU 정보를 확인할 수 있다.
cat /proc/cpuinfo
Bash
복사
ARM CPU x86 → frida-server-12.11.6-xxx-arm.xz
ARM CPU x64 → frida-server-12.11.6-xxx-arm64.xz
INTEL CPU x86 → frida-server-12.11.6-xxx-x86.xz
INTEL CPU x64 → frida-server-12.11.6-xxx-x86_64.xz
다운로드 후, 다음의 명령어로 단말기에 서버 파일을 저장한 다음 실행시킨다.
서버 파일이 .xz 등 압축되어 있는 파일인 경우 압축을 해제한 후 파일을 전송해야한다.
# 서버 파일 전송
adb push [server 파일 경로] /data/local/tmp
# 서버 파일 권한 변경
adb shell chmod 777 /data/local/tmp/[server 이름]
# 서버 파일 실행
adb shell /data/local/tmp/[server 이름] &
Plain Text
복사
Disabling magisk Error 발생 시
# frida 서버 프로그램을 시스템 위치에 마운트
mount -o bind /data/local/tmp/frida-server /system/bin/pppd
# 앱 실행 -> 시스템 권한으로 실행된다.
/system/bin/pppd &
JavaScript
복사
3. 정상 설치 확인
클라이언트에서 frida-ps 명령어로 확인 가능하다
frida-ps -U
# 결과
PID Name
---- ------------------------------
1303 adbd
1789 android.process.acore
2699 com.android.defcontainer
2303 com.android.deskclock
....
Plain Text
복사
4. 실제 단말기에서 연결 확인
adb devices
Java
복사
연결이 잘되었다면 다음과 같은 상태이다.
-------------------------------------
List of devices attached
ce061606c19a592705 device
-------------------------------------
Java
복사
하지만 연결이 잘 되지 않았다면 다음과 같은 상태일 것이다.
-------------------------------------
List of devices attached
ce061606c19a592705 unauthorized
-------------------------------------
Java
복사
이때는 단말기에서 개발자 옵션 → 디버깅탭 → USB 디버깅 을 껐다가 켜준다.
그러면 다음과 같은 화면이 나타날 것이다.
매번 창이 뜨는것이 귀찮다면 "항상 이 PC와 연결하는 것을 허용" 을 체크해준다.