Frida는 Dynamic Binary Instrumentation(DBI) 프레임워크이며, Windows, mac OS, iOS, Android 애플리케이션을 동적으로 분석할 수 있게 해주는 도구이다.
Frida는 함수를 후킹하여 해당 함수의 동작을 분석하거나, 다른 동작을 수행하도록 코드를 덮는 등의 작업을 할 수 있게 해준다. Frida는 크게 두 가지 구성 요소로 이루어진다. 안드로이드 기기 내에 설치 후 열어두어야하는 Frida Server와, Local host에 설치하여 후킹 코드를 전달하고 후킹 결과를 확인할 수 있도록 하기 위한 Frida 클라이언트로 구성된다.
Frida Client 설치
$ pip3 install --upgrade pip
$ pip3 install frida-tools
Frida Server 설치
Frida Server 최신 release 다운로드: https://github.com/frida/frida/releases
압축 해제 후 adb 명령어를 이용하여 디바이스로 해당 파일 전송
$ adb push frida-server-16.1.4-android-x86 /data/local/tmp/
adb shell 접속 후 전송한 frida server 파일 실행
# cd /data/local/tmp/
# chmod +x frida-server-16.1.4-android-x86
# ./frida-server-16.1.4-android-x86
설치가 정상적으로 이루어졌다면 frida-ps -D emulator-5554
명령어를 통해 연결된 기기의 프로세스 목록을 확인할 수 있다.
U
, -usb
: USB로 연결된 기기 연결-D <device id>
: virtual device 연결