취보특개

Frida Usage -2 (Solve Example) 본문

Boan/모바일

Frida Usage -2 (Solve Example)

ha3kkkkk 2021. 3. 20. 14:53

예제파일 분석(동적)

 

예제 파일 설치

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

[그림-1] install example file

 

 

예제 파일 실행

▷ 루팅 탐지 우회가 필요해보인다.

 

 


 

예제파일 분석(정적)

 

프리다로 함수 후킹을 하려면,

진단할 APK 파일이 어떤 클래스에서 탐지 행위가 발생하는지 파악해야 한다.

디컴파일리 도구를 이용해 자바 소스 코드를 분석해본다. (jadx, JEB 등)

 

 

JEB Pro로 본 apk 파일 구조

상용 프로그램에 비해 매우 간단하다. MainActivity부터 살펴본다.

[그림-2] apk file Structure

JEB Pro로 본 MainActivity

코드를 보았을 때, Root Detect 종료를 피할 수 있는건 두 가지로 보인다.

  ① c.a() c.b() c.c() 가 모두 False 리턴

  ② this.a()에서 system.exit()을 했을 때 종료되지 않게하는 것

[그림-3] apk file MainActivity

▶ 2번 방법으로 우회해본다.

▷ 후킹 대상 클래스: java.lang.System

▷ 후킹 대상 메소드: exit

[그림-4] target class info-1

 

 

 


 

예제파일 후킹

 

▶ 스크립트 생성

Java.perform(function() {

    var sysApi = Java.use('java.lang.System')
    sysApi.exit.implementation = function()
    {
        console.log('Bypass EXIT');
    }
};

 

▶ 프로세스ID(PID) 확인

frida-ps -U

8303

 

[그림-5] target process PID

▶ 프리다 스크립트 실행

▷ frida -U -l frida_test.js --no-pause -f owasp.mstg.uncrackable1

OK버튼 클릭 이후 종료되지 않는 것을 확인

 

'Boan > 모바일' 카테고리의 다른 글

안드로이드 스튜디오 광고 추가  (0) 2021.05.22
iOS jailbreaking  (0) 2021.03.14
iOS Homebrew Usage  (0) 2021.03.14
Android Rooting  (0) 2021.01.10
Frida Usage - 1 (Basic Concept)  (0) 2021.01.09
Comments