Frida 를 이용한 후킹 등 실습을 위해 Frida 설치를 진행합니다.
frida-tools 설치를 진행하기에 앞서 python을 이용할 수 있도록 환경 구성이 필요한데 여기서는 uv를 설치한 뒤 python 을 활용하는 구성형태로 진행합니다.
windows 환경 또는 mac이나 linux 환경에서 설하기 위해 다음 github를 방문 하여 설치하는 방법 및 명령어를 참고하여 설치를 진행합니다.
Step 01) 안내 된 명령어를 활용하여 uv 설치를 진행합니다.
# Windows 에서 UV 설치를 진행하는 경우
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
# macOS 이나 Linux 에서 UV 설치를 진행하는 경우
curl -LsSf https://astral.sh/uv/install.sh | sh
# pip 나 pipx 등 python 환경이 이미 설치되어 있는 경우
pip install uv

Step 02) 위와 같이 설치 완료 메시지가 나타나면 명령 프롬프트 또는 PowerShell 등 실행 중인 동작 환경에 따른 Path 변수 설정을 진행해 주거나 새로 창을 띄웁니다.
Step 03) 정상적인 설치 및 동작 확인을 위하여 uv --help
명령어를 이용해 다음과 같이 정상적으로 명령어 안내가 출력 되는지 확인합니다.

Step 04) 앞으로 frida 및 frida와 관련된 python 스크립트를 다루기 위해 frida 라는 폴더를 생성하고 uv 명령어를 이용해 python 설치 및 환경을 세팅해줍니다.
# frida 와 관련된 내용을 다룰 디렉토리(폴더) 생성
D:\> mkdir frida
# 생성된 frida 경로로 이동
D:\> cd frida
# uv init 명령어를 이용해 uv 환경 프로젝트로 초기화
D:\frida> uv init
# uv venv 명령어를 이용해 python 등 가상 환경 구성
D:\frida> uv venv
# uv pip install 명령어를 이용해 가상 python 환경에 frida-tools 설치
D:\frida> uv pip install frida-tools

Step 05) 정상적인 설치 및 동작 확인을 위하여 uv run frida --help
및 uv run frida --version
명령어를 이용해 다음과 같이 정상적으로 명령어 안내가 출력 되는지 확인합니다.


Step 06) 녹스(Nox) 환경에 Frida Server 를 설치하기 위해 Nox 에뮬레이션 환경을 가동합니다.

Step 07) adb 명령어를 이용해 devices 연결 목록이 나오는지 확인합니다.
Step 08) getprop 명령어를 활용해 대상 기기(nox)의 cpu abi정보를 확인합니다.

Step 09) frida github 에 방문하여 Releases 링크를 선택합니다.

Step 10) Show all OOO assets
링크를 눌러 숨겨진 목록을 펼칩니다.

Step 11) frida-server-{version}-android-{cpu.abi}.xz
파일을 내려받아 생성했던 frida 폴더에 압축을 해제합니다.

Step 12) 아래 명령어를 통해 모바일 기기(nox 등) 환경의 /data/local/tmp 경로에 frida server 파일을 전송하고 권한을 부여합니다.
# nox 가 아닌 환경
adb push .\frida-server-{version}-android-{cpu.abi} /data/local/tmp
adb shell chmod 777 /data/local/tmp/frida-server-{version}-android-{cpu.abi}
# nox 를 이용하는 환경
nox_adb push .\frida-server-{version}-android-{cpu.abi} /data/local/tmp
nox_adb shell chmod 777 /data/local/tmp/frida-server-{version}-android-{cpu.abi}

Step 13) 다음의 명령어를 입력하여 frida server 를 구동합니다.
adb shell # Nox 의 경우 nox_adb 명령어로 대체
cd /data/local/tmp
nohup ./frida-server-{version}-android-x86_64 &

Step 14) frida-ps -Uai 명령어를 이용해 설치되어 있는 애플리케이션 목록을 확인하고 그 목록에 ANDITER 가 존재하는지 확인하여 frida 이용 환경이 적절히 구성되어있는지 최종 점검을 수행합니다.

토론하기