//////
Search
🤖

안드로이드 FRIDA 환경구성

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와 연결하는 것을 허용" 을 체크해준다.