Hooking FridaLab #1 개요 및 환경 세팅

2023. 3. 14. 17:33Android

주제: 후킹을 통한 FridaLab해결과 리얼 앱 변조

기간: 22.11.21 ~ 22.12.20

 

목차

00) Frida란?

01) Frida 서버 설치 (환경 세팅)

02) 기초 Frida사용법 

03) FridaLab이란?

04) FridaLab 1~5

05) FridaLab 6~8

06) FridaLab all

07) 리얼 앱 후킹

 

작년에 마무리했던 프로젝트이나, 따로 기록해놓고 블로그로 글을 옮기는걸 잊어버렸다.

그 상태로 다른 프로젝트를 이미 시작해버려서 잊어버리기 전에 생각났을 때 틈틈히 옮기려고 한다.

 

안드로이드는 녹스를 사용하였으며, 녹스 안드로이드 루팅, adb 등의 세팅은 이전 글에 포함되어있으므로 생략한다.

2022.09.13 - [Android] - REAL Android Crack #1 adb란? / Nox apk 추출

 


00) Frida란?

Ole가 개발한 DBI(Dynamic Binary Instrumentation)

실행중인 앱에 코드를 삽입하여 프로세스를 추적 및 분석, 디버깅을 할 수 있게 해주는 리버싱 도구이다.

 

01) Frida 서버 설치 (환경 세팅)

 

1) 로컬에 frida 설치

 

프리다를 사용할떄 파이썬을 이용하는데, 아나콘다를 사용하면 파이썬 호환성을 해결해주기때문에 편리하다.

따라서 아나콘다로 프로젝트를 진행하였다.

아나콘다에 대한 자세한 설치방법과 설명은 글 하단의 링크를 참고

 

https://www.anaconda.com/products/distribution

 

Anaconda | Anaconda Distribution

Anaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine.

www.anaconda.com

위 링크 맨 아래의 installer에서 자신 운영체제에 맞는 아나콘다를 설치한 뒤,

anaconda prompt 창을 열어 아래 명령어를 입력한다.

conda create -n py3 python=3.7
conda activate py3
pip install frida-tools
frida --version

마지막 명령어로 알아낸 frida 버전은 15.2.2

 

2) device에 frida 서버 설치

 

adb쉘에서 아래 명령어를 입력하여 안드로이드의 아키텍처를 확인한다.

getprop ro.product.cpu.abi

 

로컬에 설치한 frida 버전(15.2.2) 중 디바이스의 아키텍처(x86)에 맞는 frida 서버를 다운받는다.

→ frida-server-15.2.2-android-x86

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

 

adb push 명령어로 적당한 경로에 다운받은 frida server를 삽입한다.

adb push C:\Users\~\Downloads\frida-server-15.2.2-android-x86 /data/local/tmp

 

frida server에 실행권한을 부여하고 &을 끝에 붙여 백그라운드로 실행한다.

 

frida-ps -U명령어를 통해 디바이스에서 실행중인 프로세스 목록을 로컬에서 확인한다. (통신 성공)


해당 글은 아래 글을 참고하여 작성되었다.

 

아나콘다 설치 및 사용

 

[Python] - 아나콘다 설치 (Anaconda)

아나콘다 설치 및 사용 명령어

velog.io

 

프리다 환경 구축

 

프리다 환경 구축

프리다는 Ole가 개발한 DBI(Dynamic Binary Instrumentation)로, 실행중인 앱에 코드를 삽입하여 프로세스를 추적 및 분석, 디버깅을 할 수 있는 도구이다.프리다를 설치하기 전에 녹스 앱플레이어와 아나

velog.io