Awesome-Android-Reverse-Engineering
A curated list of awesome Android Reverse Engineering training, resources, and tools.
https://github.com/user1342/Awesome-Android-Reverse-Engineering
Last synced: 4 days ago
JSON representation
-
CTFs and CrackMes
-
Case Studies
- CyberTruckChallenge19 - Security workshop material from CyberTruck Challenge 2019.
- KGB Messenger - CTF challenge for learning Android reverse engineering.
- Flare-On Challenge - High-level reverse engineering CTF with Android challenges.
- ☆ UnCrackable Mobile Apps - OWASP Android app CrackMes.
- OverTheWire Narnia - Not Android-specific but excellent for binary exploitation practice.
-
-
Firmware & Kernel Analysis
-
Case Studies
- Binwalk - Analyze, extract, and reverse engineer firmware images.
- AFLSmart - Fuzzer optimized for firmware image analysis.
- FirmWire - Dynamic analysis platform for baseband firmware.
- Android Kernel Exploits - Collection of kernel vulnerabilities and exploit techniques.
-
-
Licence
-
Case Studies
-
-
Misc
-
Case Studies
- LADB - Local ADB shell for Android.
- Broken Droid Factory - Generates pseudo-random vulnerable Android apps for training.
- uber-apk-signer - CLI tool for signing and zip aligning APKs.
- RUNIC tamper detection demo - Demo for understanding Android tamper detection and integrity systems.
-
-
Obfuscation & Anti-Reversing
-
Case Studies
- ProGuard - Code shrinker, optimizer, and obfuscator.
- DexGuard - Commercial tool for advanced app obfuscation.
- Android Tamper Detection Framework (ATDF) - Implements tamper detection.
- Paranoid - Detects root and tampering.
- libhooker - Detects hooking frameworks like Frida and Xposed.
-
-
Resources
-
Case Studies
-
Documentation
- Android Reverse Engineering Challenges - Curated list of reverse engineering challenges and CTFs.
- APKMirror - Repository of APKs from the Play Store and user uploads.
- APKPure - Repository of APKs for testing and research.
- Android Security Documentation - Official Google documentation on Android security.
- AndroidXref - Open code search for Android source.
-
-
Tools
-
Decompilers
- JDGui - Graphical utility to view Java source from class files.
- ☆ APKLab - VS Code extension integrating multiple tools.
- apk2gold - Decompiles Android apps to Java (note: may be outdated).
- AndroidProjectCreator - Converts APKs to Android Studio projects.
- APK Studio - Qt-based IDE for reverse-engineering APKs.
- show-java - APK, JAR & Dex decompiler.
- ☆ JADX - Decompiles APKs into Java source code.
- Procyon - Suite of Java decompilation tools.
- Cfr - Supports decompilation of Android APK files.
- FernFlower - Analytical decompiler for Java.
- ☆ Apktool - Popular tool for decompiling/recompiling APK files.
- DEX2JAR - Converts DEX files to JAR files.
- ☆ Ghidra - Free and open-source SRE framework.
- Radare2 - Reverse engineering framework with disassembly and debugging.
- Androguard - Analyzes and reverse engineers Android apps.
- IDA Pro - Commercial disassembler and debugger.
-
Dynamic Analysis Tools
- sesearch - Command line tool for querying SELinux policies.
- AutoDroid - Mass APK gathering and analysis tool.
- RMS Runtime Mobile Security - Frida web interface.
- ☆ FriDump - Uses Frida to dump memory of running apps.
- jnitrace - Frida-based JNI API tracer.
- ☆ Binder Trace - Intercepts and parses Android Binder messages.
- Drozer - Framework for Android security testing with dynamic analysis features.
- jtrace - Similar to strace, but for Android system calls.
- ☆ Burp Suite - Commercial tool for analyzing network traffic of Android apps.
- Wireshark - Open-source network protocol analyzer.
- SSLsplit - Intercepts and manipulates SSL/TLS encrypted traffic.
- apk-mitm - Prepares APKs for HTTPS inspection.
- ☆ Frida - Dynamic instrumentation toolkit for runtime manipulation.
- ☆ Objection - Runtime exploration tool to bypass app security controls.
- MITMProxy - Man-in-the-middle proxy for analyzing network traffic.
-
Malware Analysis
- DroidDetective - Machine learning malware analysis for Android apps.
- Cuckoo Droid - Automated Android malware analysis with Cuckoo Sandbox.
- androwarn - Static code analyzer for malicious Android applications.
-
Static Analysis Tools
- Android Studio - Useful for analyzing decompiled apps via an IDE.
- Quark Engine - Integrates various tools as Quark Script APIs for mobile security research.
- ☆ APK Dependency Graph - Visualizes APK class dependencies.
- COVA - Computes path constraints based on user-defined APIs.
- DIS{integrity} - Analyzes APKs for root, integrity, and tamper detection.
- ☆ Obfu[DE - De-obfuscation tool that uses fuzzy comparison logic.
- TinySmaliEmulator - Minimalist smali emulator for "decrypting" obfuscated strings.
- simplify - Android virtual machine and deobfuscator.
- deoptfuscator - Tool for deobfuscating apps using control-flow obfuscation.
- QARK - An open-source tool for automatic Android app vulnerability scanning.
- MobSF - Supports both static and dynamic analysis for Android app security testing.
- AndroBugs Framework - Analyzes and scans Android apps for security issues.
- ☆ imjtool - Firmware unpacking tool for various vendors and formats.
- disarm - Command line utility for parsing ARM-64 instructions.
- Dexcalibur - Automated tool for analyzing and instrumenting Android applications.
-
-
Training
-
Books
- Blue Fox: Arm Assembly Internals and Reverse Engineering - Provides a solid foundation in ARM assembly internals.
- Android Software Internals Quick Reference - Techniques in Java and Android system internals.
- Android Security Internals - Detailed look into Android security architecture.
- ☆ Android Internals: A Confectioner's Cookbook - An in-depth exploration of the inner-workings of Android.
- ☆ Mobile Offensive Security Pocket Guide - Key information, approaches, and tooling for mobile penetration testers.
- The IDA Pro Book - Essential for advanced IDA Pro techniques.
- Android Hacker's Handbook - A deep dive into Android exploitation and forensics.
- Practical Reverse Engineering - Covers low-level reverse engineering concepts, including ARM assembly.
- Android Malware Detection with Machine Learning - Machine learning techniques for detecting malicious apps.
-
Courses and Material
- Introduction to Assembly from Azeria Labs - Covering everything from data types, registers, the ARM instruction set, memory instructions, and more.
- ☆ Maddie Stone's Android Reverse Engineering Training - A comprehensive online training course on Android reverse engineering by Maddie Stone.
-
Videos
- Using Frida To Modify Android Games | Mobile Dynamic Instrumentation - Focusing on reverse engineering Android applications and on using Frida to dynamically modify Android games.
- Kristina Balaam Android Reverse Engineering - A video series on reverse engineering basics and reverse engineering Android malware.
- LaurieWired Android Reverse Engineering videos - A YouTube channel focusing on Android reverse engineering.
-
Programming Languages
Categories
Sub Categories
Keywords
android
19
reverse-engineering
11
apk
6
malware-analysis
5
frida
5
smali
5
security
4
apktool
4
java
4
mobile-security
3
androguard
3
obfuscation
3
android-security
3
dex
3
mobile
3
deobfuscation
3
root-detection
2
tamper-detection
2
artificial-intelligence
2
malware
2
pentesting
2
dalvik
2
emulator
2
deobfuscator
2
android-application
2
ios-security
2
qt6
1
ios
1
ai
1
instrumentation
1
blackbox
1
blackbox-testing
1
blackhat
1
defcon
1
llm-agent
1
security-vulnerability-assessment
1
vulnerability
1
analysis
1
frida-node
1
gui
1
hook
1
hooking
1
instrumentation-automation
1
reverse
1
security-tools
1
car
1
android-malware
1
framework
1
penetration
1
ctf
1