1. Windows에 Frida 설치
cmd> pip install frida
cmd> pip install frida-tools

2. 프리다 버전 확인
cmd> frida --version

3. 안드로이드 기기에 frida server 설치 및 구동
https://github.com/frida/frida/releases
- 여기서 "아까 확인했던 frida 버전"과 "안드로이드 기기에 맞는 버전"을 다운로드 받기

+) "안드로이드 기기 버전 확인"
cmd> adb shell getprop | find "cpu"
결과예시> [ro.product.cpu.abi]: [arm64-v8a]
....
여기서 확인해야할 것은 cpu.abi >> "arm64"를 기억하자

- 다운로드(xz 파일) 받은 후 압축해제

- 안드로이드 기기에 파일 넣어주기
cmd> adb push [압축해제파일명] /data/local/tmp
cmd> adb shell
$ su  (root 계정으로 권한상승)
# cd /data/local/tmp (넣은 파일 있는 곳으로 이동)
# ls (넣은 파일 있는지 확인)
# chmod 755 [압축해제파일명] (실행권한 부여)
# ./frida-server-16.1.3-android-arm64 & (백그라운드&에서 frida-server 구동)

※ 만약, 'Unable to start : Error binding to address 127.0.0.1:27042: Address already in use' 에러가 떴다면, frida-server가 이미 돌아가고 있다는 뜻이기 때문에 프로세스 종료 후 다시 구동시켜줘야 한다

# ps -ef | grep frida (frida라는 텍스트 들어간 프로세스id 확인)
# kill -9 [pid] (프로세스 강제 종료)
# ./frida-server-16.1.3-android-arm64 & (백그라운드&에서 frida-server 다시 구동)

4. 설치된 APK의 [패키지명] 확인
cmd> frida-ps -Uai (결과에서 Identifier를 보면 된다)
결과예시 >
  PID  Name             Identifier
-----  ---------------  ---------------------------------------
23384  Gmail            com.google.android.gm
15319  Google           com.google.android.googlequicksearchbox
21709  Google Play 스토어  com.android.vending
...

5. Frida 후킹 시작
cmd> frida -U -f [패키지명] -l [후킹파일명.js]
명령예시> frida -U -f com.google.android.gm -l hooking.js

 

후킹파일 예시)

Java.perform(function(){
	var obj = Java.use('q5.b');
	obj.n.overload().implementation = function(){
		console.log('[+] 루팅 완료');
		return false;
	}
});

'Study > Mobile' 카테고리의 다른 글

안드로이드 - 루팅 & 순정 복구  (1) 2023.11.14
Android - 리패키징  (0) 2023.10.06
Android 취약점 진단 시 참고  (0) 2022.11.29
Android - adb 메모리 덤프  (0) 2022.11.29

+ Recent posts