Frida-gadget.so를 직접 삽입
- lib/arm64-v8a/ 폴더에 gadget 넣기. (경로는 예시이며, 단말기 프로세스에 맞춰 넣을 것)
- libfrida-gadget.so로 파일명 변경
- SplashActivity.smali / MainActivity.smali의 oncreate나 constructor에 삽입
- ( constructor <clinit>를 생성하여 삽입하는 것이 안정적인듯)
method static constructor <clinit>()V
.locals 1
.prologue
const-string v0, "frida-gadget"
invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
return-void
.end method
- Compile / Sign / Install 진행
Objection을 이용한 apk Patch를 이용
objection을 이용하면 디컴파일, 단말기에 맞는 frida.so삽입, 컴파일, Sign 과정을 자동으로 진행하여 patch된 앱을 apk파일로 만들어준다.
objection은 맞는 버전의 frida.so를 찾기 위해 adb명령어를 이용하므로 단말기와 adb가 정상적으로 연결되는 확인이 필요하다.
objection patchapk -s 앱이름.apk -p
-s : Source File name
-p : Recomplie 진행 전 Pause
-D : Skip res
-2 : use aapt2
-k : skip Cleanup ( objection에서 디컴파일된 폴더는 %temp% 디렉토리 내에 남음. 기본적으로 작업이 마무리 되거나 에러발생 시 해당 임시파일을 Cleanup 시킴)