루팅 탐지 우회는 기술상, 시간상 어려운데 apk파일에 대한 무결성 검증을 하고 있지 않은 경우(낮은 확률의 Case)에 유용한 옵션이 될 수 있음.
apk파일 디컴파일(-r 옵션으로 리소스는 제외하고 디컴파일 권장).
쓰고자 하는 버전의 frida-gadget 압축파일을 https://github.com/frida/frida/releases 에서 다운받음.
frida-gadget 압축 해제(git bash에서 unxz 명령어 사용)하여 lib 폴더에 "libfrida.so" 이름으로 붙여넣음.
System.loadLibrary("frida") 구문을 smali 코드에 삽입.
const-string v0, "frida"
invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
※ 삽입하기 좋은 위치
constructor of a main activity
onCreate method of a main activity
리패키징(-r 옵션 권장) & 사이닝, 설치.
앱 실행시 frida가 attach 하기 전까지 Gadget이라는 이름으로 앱이 멈춰져 있음.
이후 frida로 직접 attach하여 분석 수행.
frida -U Gadget
※ 출처
https://go-madhat.github.io/Frida_Gadget/
https://koz.io/using-frida-on-android-without-root/
https://fadeevab.com/frida-gadget-injection-on-android-no-root-2-methods/
'Information Security > Android' 카테고리의 다른 글
Android 7 이상 시스템영역에 Fiddler 인증서 설치 (6) | 2020.09.29 |
---|---|
Uncrackable Level 3(Android) (6) | 2020.07.31 |
gdb so파일 동적디버깅(Android 9) (0) | 2020.07.20 |
Uncrackable Level2(Android) IDA 동적 디버깅 (0) | 2020.07.15 |
Frida Android Method Trace (0) | 2020.07.05 |