Skip to content

A curated list of awesome Android Reverse Engineering training, resources, and tools.

License

Notifications You must be signed in to change notification settings

user1342/Awesome-Android-Reverse-Engineering

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Awesome Android Reverse Engineering

A curated list of awesome Android Reverse Engineering training, resources, and tools.

Awesome GitHub contributors GitHub Repo stars GitHub watchers GitHub last commit

How to Use

Awesome-Android-Reverse-Engineering is an amazing list for people who work in taking apart Android applications, systems, or components. Simply press ctrl + F to search for a keyword, go through our Contents Menu, or lookout for a '☆' indicating some great and up-to-date resources.

Contents

Training

Courses and Material

Videos

Books

Tools

Static Analysis Tools

  • QARK - An open-source tool for automatic Android app vulnerability scanning.
  • Quark Engine - Integrates various tools as Quark Script APIs for mobile security research.
  • 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.
  • Android Studio - Useful for analyzing decompiled apps via an IDE.
  • ☆ APK Dependency Graph - Visualizes APK class dependencies.
  • disarm - Command line utility for parsing ARM-64 instructions.
  • COVA - Computes path constraints based on user-defined APIs.
  • DIS{integrity} - Analyzes APKs for root, integrity, and tamper detection.
  • Dexcalibur - Automated tool for analyzing and instrumenting Android applications.

De-Obfuscation

  • ☆ Obfu[DE]scate - 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.

Dynamic Analysis Tools

  • Drozer - Framework for Android security testing with dynamic analysis features.
  • jtrace - Similar to strace, but for Android system calls.
  • sesearch - Command line tool for querying SELinux policies.
  • AutoDroid - Mass APK gathering and analysis tool.
  • Networking:
    • ☆ 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.
    • MITMProxy - Man-in-the-middle proxy for analyzing network traffic.
    • apk-mitm - Prepares APKs for HTTPS inspection.
  • Dynamic Instrumentation:
    • ☆ Frida - Dynamic instrumentation toolkit for runtime manipulation.
    • Xposed Framework - For hooking and modifying app behavior at runtime.
    • ☆ Objection - Runtime exploration tool to bypass app security controls.
    • 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.

Decompilers

  • ☆ 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.
  • JDGui - Graphical utility to view Java source from class files.
  • IDA Pro - Commercial disassembler and debugger.
  • ☆ Ghidra - Free and open-source SRE framework.
  • Additional Decompilers:
    • JEB Decompiler - Commercial decompiler for Android apps.
    • Radare2 - Reverse engineering framework with disassembly and debugging.
    • Androguard - Analyzes and reverse engineers Android apps.
    • 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.
    • ☆ APKLab - VS Code extension integrating multiple tools.

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.

Resources

Documentation

Case Studies

CTFs and CrackMes

Misc

Obfuscation & Anti-Reversing

Firmware & Kernel Analysis

  • Binwalk - Analyze, extract, and reverse engineer firmware images.
  • AFLSmart - Fuzzer optimized for firmware image analysis.
  • Android Kernel Exploits - Collection of kernel vulnerabilities and exploit techniques.
  • FirmWire - Dynamic analysis platform for baseband firmware.

Cloud API & Web Services Reversing

Contributing

Your contributions are always welcome! Please read the contribution guidelines first. We follow the Contributor Covenant Code of Conduct, so please review and adhere to it when contributing.

Licence

GitHub
This project is licensed under the MIT License - see the LICENSE.md file for details.