MOBILE

앱 취약점진단 분석 도구

MUSH 2022. 12. 13. 09:19

안드로이드 apk 파일 디컴파일 과정

apk 파일을 분석하기 위해서는 상황에 따라 smali, class, java 파일로 디컴파일을 해야합니다.

디컴파일을 하기 위한 도구는 아래와 같습니다.

 

정적 분석 도구

01. ADB : Android Debug Bridge

ADB(Android Debug Bridge)는 Android 단말기와 컴퓨터 간의 통신을 지원하는 명령줄 도구

https://developer.android.com/studio/releases/platform-tools?hl=ko

 

SDK 플랫폼 도구 출시 노트  |  Android 개발자  |  Android Developers

Android SDK 플랫폼 도구는 Android SDK의 구성요소입니다.

developer.android.com

 

02. Apktool

Android 애플리케이션의 APK 파일을 디컴파일하여 리버스 엔지니어링 및 수정을 가능하게 하는 오픈 소스 도구

https://apktool.org/

 

Apktool | Apktool

A tool for reverse engineering Android apk files.

apktool.org

 

03. dex2jar (dex file to jar)

Android 앱의 DEX 파일(DEX는 Dalvik Executable의 약자로, 안드로이드에서 실행 가능한 바이트 코드 형식)을 Java 클래스 파일(JAR)로 변환하는 도구

https://github.com/pxb1988/dex2jar

 

GitHub - pxb1988/dex2jar: Tools to work with android .dex and java .class files

Tools to work with android .dex and java .class files - GitHub - pxb1988/dex2jar: Tools to work with android .dex and java .class files

github.com

 

04. jd-gui

Java 클래스 파일을 열어서 디컴파일된 소스 코드를 시각적으로 탐색할 수 있게 해주는 Java Decompiler 도구

https://java-decompiler.github.io/

 

Java Decompiler

The “Java Decompiler project” aims to develop tools in order to decompile and analyze Java 5 “byte code” and the later versions. JD-GUI is a standalone graphical utility that displays Java source codes of “.class” files. You can browse the reco

java-decompiler.github.io

 

05. Jadx

안드로이드 APK 파일에서 추출한 DEX 파일을 디컴파일하여 Java 소스 코드로 변환하는 오픈 소스 도구

https://github.com/skylot/jadx

 

GitHub - skylot/jadx: Dex to Java decompiler

Dex to Java decompiler. Contribute to skylot/jadx development by creating an account on GitHub.

github.com

 

06. GDA

GDA(Ghidra Android)는 안드로이드 애플리케이션 분석을 위한 도구로, Ghidra 프레임워크를 기반으로 안드로이드 바이너리를 디컴파일하고 분석하는 데 사용

https://github.com/charles2gan/GDA-android-reversing-Tool

 

GitHub - charles2gan/GDA-android-reversing-Tool: the fastest and most powerful android decompiler(native tool working without Ja

the fastest and most powerful android decompiler(native tool working without Java VM) for the APK, DEX, ODEX, OAT, JAR, AAR, and CLASS file. which supports malicious behavior detection, privacy lea...

github.com

 

07. Scrcpy

안드로이드 기기의 화면을 컴퓨터에 미러링하고 제어할 수 있게 해주는 오픈 소스 프로젝트로, USB 또는 Wi-Fi 연결을 통해 안드로이드 기기를 컨트롤하는 데 사용

https://github.com/Genymobile/scrcpy

 

GitHub - Genymobile/scrcpy: Display and control your Android device

Display and control your Android device. Contribute to Genymobile/scrcpy development by creating an account on GitHub.

github.com

 

08. SQLite Browser

SQLite 데이터베이스를 시각적으로 관리하고 편집할 수 있는 오픈 소스 도구로, 사용자가 데이터를 검색, 수정, 백업 및 복원할 수 있는 간단한 GUI를 제공

https://sqlitebrowser.org/

 

DB Browser for SQLite

DB Browser for SQLite The Official home of the DB Browser for SQLite Screenshot What it is DB Browser for SQLite (DB4S) is a high quality, visual, open source tool to create, design, and edit database files compatible with SQLite. DB4S is for users and dev

sqlitebrowser.org

 

동적 분석 도구

01. android-Logviewer / adb -d logcat / DDMS

로그 확인하는 툴

앱 분석(크래킹)에 용이한 정보 출력

 

02. Fiddler(프록시 툴)

자주 사용하는 버프슈트(burp suite)와 같은 프록시 툴