Frida Usage -2 (Solve Example)
예제파일 분석(동적)
▶ 예제 파일 설치
▶ UnCrackable-Level1.apk
▷ https://github.com/OWASP/owasp-mstg/tree/master/Crackmes/Android
OWASP/owasp-mstg
The Mobile Security Testing Guide (MSTG) is a comprehensive manual for mobile app security development, testing and reverse engineering. - OWASP/owasp-mstg
github.com
▶ 예제 파일 설치
▷ adb install UnCrackable-Level1.apk
▶ 예제 파일 실행
▷ 루팅 탐지 우회가 필요해보인다.
예제파일 분석(정적)
프리다로 함수 후킹을 하려면,
진단할 APK 파일이 어떤 클래스에서 탐지 행위가 발생하는지 파악해야 한다.
디컴파일리 도구를 이용해 자바 소스 코드를 분석해본다. (jadx, JEB 등)
▶JEB Pro로 본 apk 파일 구조
▷ 상용 프로그램에 비해 매우 간단하다. MainActivity부터 살펴본다.
▶ JEB Pro로 본 MainActivity
▷코드를 보았을 때, Root Detect 종료를 피할 수 있는건 두 가지로 보인다.
① c.a() c.b() c.c() 가 모두 False 리턴
② this.a()에서 system.exit()을 했을 때 종료되지 않게하는 것
▶ 2번 방법으로 우회해본다.
▷ 후킹 대상 클래스: java.lang.System
▷ 후킹 대상 메소드: exit
예제파일 후킹
▶ 스크립트 생성
Java.perform(function() {
var sysApi = Java.use('java.lang.System')
sysApi.exit.implementation = function()
{
console.log('Bypass EXIT');
}
};
▶ 프로세스ID(PID) 확인
▷ frida-ps -U
▷ 8303
▶ 프리다 스크립트 실행
▷ frida -U -l frida_test.js --no-pause -f owasp.mstg.uncrackable1
▷ OK버튼 클릭 이후 종료되지 않는 것을 확인