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 |