1. Frida 란?
Frida는 동적 바이너리 인스트루멘테이션(Dynamic Binary Instrumentation, DBI) 도구로, 런타임 중인 애플리케이션의 내부 동작을 실시간으로 훔쳐보고 조작할 수 있게 해 줍니다. 주로 리버싱, 보안 진단, 악성코드 분석, 디버깅 등에 활용된다.
설치하기 전에 pip와 python3는 설치해 두자.
2. Frida 클라이언트 설치
pip install --upgrade pip
pip install frida-tools
3. Frida 주요 바이너리 7가지
| 1. frida | 타겟 프로세스에 스크립트를 직접 연결하고 상호작용하는 기본 인터페이스입니다. (REPL 형태로 사용 가능) |
| 2. frida-trace | 지정한 함수나 메서드에 자동 후킹 스텁을 생성하고, 실행 중 분석할 수 있도록 트레이싱 스크립트를 생성합니다. |
| 3. frida-ps | 연결된 디바이스에서 실행 중인 프로세스를 나열합니다. Android, iOS, Windows 모두 지원합니다. |
| 4. frida-ls-devices | 연결 가능한 디바이스 목록을 보여줍니다 (USB, local, remote, TCP 연결 등). |
| 5. frida-kill | 지정한 PID나 프로세스 이름을 가진 타겟 프로세스를 종료합니다. |
| 6. frida-discover | Frida 서버가 설치된 Android 장치를 네트워크상에서 스캔합니다. (비공식 또는 커스텀 툴에서 사용됨) |
| 7. frida-inject | 특정 프로세스에 JavaScript를 바로 주입하는 명령어. 별도로 설치해야 하거나, 일부 환경에서만 제공됩니다 . (experimental) |
3-2. 명령어 예시

ls-devices 명령어 입력 시 디바이스 목록을 보여준다.
4. Frida 서버 설치
Frida 클라이언트와 통신할 수 있는 Frida 서버를 AVD 내부에 설치해야 한다.
그래야지 기기 내부에 대한 통신을 할 수 있고 데이터를 받거나 옮길 수 있다.
https://github.com/frida/frida/releases
Releases · frida/frida
Clone this repo to build Frida. Contribute to frida/frida development by creating an account on GitHub.
github.com
[frida-server.....]에 대한 파일을 다운로드를 하도록 하자.
그냥 frida와 헷갈릴 수도 있으니 조심하자.
adb push frida-server-[버전정보 입력] [AVD 경로 입력]

먼저 adb push 써서 AVD에 다운로드한 frida-server를 업로드시킨다.
id
cd [업로드 시킨 경로]
chmod 777 frida-server-[버전명]
ls -l

그다음 root 권한을 확인한 후 경로로 이동하여 권한을 모조리 주도록 한다.
빨간 줄을 잘 확인하도록 하자.

세팅이 완료되었음 서버를 실행시키고 ps로 켜졌는지 확인한다.

다시 cmd로 돌아와 연결된 디바이스에서 실행 중인 프로세스 목록을 확인하면서 설치가 완료되어 잘 구동되는 걸 확인할 수 있다.