앱 취약점진단 분석 도구
안드로이드 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 파일을 디컴파일하여 리버스 엔지니어링 및 수정을 가능하게 하는 오픈 소스 도구
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를 제공
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)와 같은 프록시 툴