기술Frida 환경 설정 가이드

최민수
2025-08-04
조회수 1402

What is Frida ?

  - 동적 코드 삽입 도구로, 애플리케이션의 실행 중 동작을 분석하거나, 수정할 수 있도록 도와주는 오픈 소스 플랫폼.

주로 리버스 엔지니어링, 디버깅 작업에서 주로 사용 함.

 

" 루팅/탈옥 탐지 우회, SSL-Pinning 우회, 메모리 영역 점검을 하기 위한 함수 후킹을 위해  Frida 사용함 "

 

사용자가 명령어를 실행하거나 스크립트를 작성 및 실행하는 환경인 Frida Client가 있으며, 타겟 애플리케이션 간의 통신을 중개하기 위해 Frida Server가 존재함.

네트워크를 통해 Frida ClientFrida 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

카카오톡 채널 채팅하기 버튼