What is Frida ?
- 동적 코드 삽입 도구로, 애플리케이션의 실행 중 동작을 분석하거나, 수정할 수 있도록 도와주는 오픈 소스 플랫폼.
주로 리버스 엔지니어링, 디버깅 작업에서 주로 사용 함.
" 루팅/탈옥 탐지 우회, SSL-Pinning 우회, 메모리 영역 점검을 하기 위한 함수 후킹을 위해 Frida 사용함 "
사용자가 명령어를 실행하거나 스크립트를 작성 및 실행하는 환경인 Frida Client가 있으며, 타겟 애플리케이션 간의 통신을 중개하기 위해 Frida Server가 존재함.
네트워크를 통해 Frida Client와 Frida Server 간 연결이 이루어짐
" Frida Client = PC, Frida Server = 타겟 디바이스(AOS, iOS) "
다양한 플랫폼을 지원하지만 해당 글에선 Nox (AOS) 기준으로 환경 설정을 진행해 봅니다.
Frida Client
- Python 언어로 이루어진 Frida tools을 사용함으로 Python이 설치되어 있어야 합니다.
STEP_01) Frida 설치
pip install frida==[버전]
예시) pip install frida==16.3.3

STEP_02) Frida-tools 설치
pip install frida-tools

STEP_03) Frida 버전 확인으로 설치 확인
frida --version

Frida Server
STEP_01) 루팅을 진행한 것과 동일한 환경을 구성하기 위해 Nox 기본설정을 ROOT 켜기 및 개발자 옵션 활성화
- ROOT 켜기 활성화

- 개발자 옵션 활성화
: 설정 > 시스템 > 태블릿 정보 > 빌드 번호 5번 클릭

: 설정 > 시스템 > 고급에서 활성화 여부 확인 가능

STEP_02) Nox CPU 아키텍처 확인
# adb shell
# getprop ro.product.cpu.abi
STEP_03) Frida Client에 설치된 버전과 동일한 Server 파일 다운로드 및 압축 해제
※ 해당 글에선 16.3.3 버전 및 CPU 아키텍처는 x86_64 사용
※ 파일명을 변경하여 사용하여도 좋으나, 버전 관리를 위해 그대로 사용함
https://github.com/frida/frida/releases

STEP_04) 안드로이드 임시 저장 위치로 파일 이동
adb push frida-server-16.3.3-android-x86_64 /data/local/tmp

STEP_05) Frida Server 파일 권한 변경 및 백그라운드로 실행
# adb shell
# su
# cd /data/local/tmp
# chmod 777 frida-server-16.3.3-android-x86_64
# ./frida-server-16.3.3-android-x86_64 &

Frida 연결 확인
frida-ps -Uai
frida -U -f [패키지명]



 최민수 | cms@cela.kr |
What is Frida ?
- 동적 코드 삽입 도구로, 애플리케이션의 실행 중 동작을 분석하거나, 수정할 수 있도록 도와주는 오픈 소스 플랫폼.
주로 리버스 엔지니어링, 디버깅 작업에서 주로 사용 함.
" 루팅/탈옥 탐지 우회, SSL-Pinning 우회, 메모리 영역 점검을 하기 위한 함수 후킹을 위해 Frida 사용함 "
사용자가 명령어를 실행하거나 스크립트를 작성 및 실행하는 환경인 Frida Client가 있으며, 타겟 애플리케이션 간의 통신을 중개하기 위해 Frida Server가 존재함.
네트워크를 통해 Frida Client와 Frida Server 간 연결이 이루어짐
" Frida Client = PC, Frida Server = 타겟 디바이스(AOS, iOS) "
다양한 플랫폼을 지원하지만 해당 글에선 Nox (AOS) 기준으로 환경 설정을 진행해 봅니다.
Frida Client
- Python 언어로 이루어진 Frida tools을 사용함으로 Python이 설치되어 있어야 합니다.
STEP_01) Frida 설치
STEP_02) Frida-tools 설치
STEP_03) Frida 버전 확인으로 설치 확인
Frida Server
STEP_01) 루팅을 진행한 것과 동일한 환경을 구성하기 위해 Nox 기본설정을 ROOT 켜기 및 개발자 옵션 활성화
- ROOT 켜기 활성화
- 개발자 옵션 활성화
: 설정 > 시스템 > 태블릿 정보 > 빌드 번호 5번 클릭
: 설정 > 시스템 > 고급에서 활성화 여부 확인 가능
STEP_02) Nox CPU 아키텍처 확인
STEP_03) Frida Client에 설치된 버전과 동일한 Server 파일 다운로드 및 압축 해제
※ 해당 글에선 16.3.3 버전 및 CPU 아키텍처는 x86_64 사용
※ 파일명을 변경하여 사용하여도 좋으나, 버전 관리를 위해 그대로 사용함
https://github.com/frida/frida/releases
STEP_04) 안드로이드 임시 저장 위치로 파일 이동
STEP_05) Frida Server 파일 권한 변경 및 백그라운드로 실행
Frida 연결 확인
최민수 | cms@cela.kr