# codinggay/blackdex

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/codinggay-blackdex).**

6,266 stars · 1,310 forks · C++ · apache-2.0

## Links

- GitHub: https://github.com/CodingGay/BlackDex
- awesome-repositories: https://awesome-repositories.com/repository/codinggay-blackdex.md

## Topics

`android` `android-unpack` `blackbox` `blackdex` `dexdump` `dump` `dumpdex` `shell` `unpack` `unpacker` `unpacking`

## Description

BlackDex is an Android runtime-level DEX extraction tool that recovers bytecode from protected APK files across Android versions 5 through 12 without requiring root access. It operates by hooking system APIs, reading DexFile cookies, and repairing obfuscated method bodies from memory, supporting both 32-bit and 64-bit architectures for installed and uninstalled applications.

The tool distinguishes itself through a multi-method approach that combines cookie-based dumping, API hooking, and memory-based instruction repair to handle first through third generation packers. It reconstructs method bodies by copying opcodes from external memory blocks back into the Dex file structure, fixing erased DexCode instructions and reducing nop-filled stubs. Separate compiled binaries are provided for each instruction set to match the target app's native architecture.

BlackDex processes both installed apps and uninstalled APK files, extracting DEX content from apps already on the device in seconds or from archive files stored on disk. It removes protection layers from APK files without requiring installation, and operates on physical devices or emulators across Android 5.0 through 12 without external dependencies.

## Tags

### Part of an Awesome List

- [APK Unpacking](https://awesome-repositories.com/f/awesome-lists/devtools/android-analysis/apk-unpacking.md) — Extracts DEX bytecode from protected Android APK files, both installed and uninstalled.
- [Multi-Generation Packer Bypass](https://awesome-repositories.com/f/awesome-lists/devtools/packer-detection-tools/multi-generation-packer-bypass.md) — Bypasses first through third generation packers by targeting code loading from disk, memory, or instruction extraction.

### Artificial Intelligence & ML

- [32/64-bit Build Variants](https://awesome-repositories.com/f/artificial-intelligence-ml/dual-model-memory-architectures/dual-model-architectures/32-64-bit-build-variants.md) — Ships separate 32-bit and 64-bit binaries to match the target app's native architecture.

### Development Tools & Productivity

- [DEX Instruction Repair](https://awesome-repositories.com/f/development-tools-productivity/ast-transformation-tools/ast-structure-modification/structural-integrity-repair/bytecode-repair/dex-instruction-repair.md) — Reconstructs obfuscated method bodies by copying opcodes from external memory blocks into the Dex file.
- [Android DEX Dumpers](https://awesome-repositories.com/f/development-tools-productivity/java-bytecode-viewers/dex-to-class-converters/android-dex-dumpers.md) — Dumps DEX files from installed apps and uninstalled APKs using DexFile cookie and hook API methods.
- [Android DEX Unpackers](https://awesome-repositories.com/f/development-tools-productivity/java-bytecode-viewers/dex-to-class-converters/android-dex-unpackers.md) — Extracts and repairs DEX bytecode from protected Android apps without requiring root access.
- [DEX File Recovery](https://awesome-repositories.com/f/development-tools-productivity/java-bytecode-viewers/dex-to-class-converters/dex-file-recovery.md) — Recovers DEX files from obfuscated or packed Android applications by bypassing protection layers.

### DevOps & Infrastructure

- [ART Runtime Compatibility](https://awesome-repositories.com/f/devops-infrastructure/execution-environments/code-execution-runtimes/containerized-runtimes/android-runtimes/art-runtime-compatibility.md) — Adapts to ART runtime changes across Android 5 through 12 for DEX extraction.
- [Direct APK Extraction](https://awesome-repositories.com/f/devops-infrastructure/distribution-packaging/software-distribution/application-packaging/android-packages/apk-loaders/direct-apk-extraction.md) — Extracts DEX bytecode directly from uninstalled APK files stored on disk.

### Mobile Development

- [Multi-Version Android Unpackers](https://awesome-repositories.com/f/mobile-development/android-architecture-support/multi-version-android-unpackers.md) — Supports Android versions 5 through 12 with separate 32-bit and 64-bit builds for broad device compatibility.

### Operating Systems & Systems Programming

- [Android Runtime API Hooking](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/system-calls/api-hooking-utilities/android-runtime-api-hooking.md) — Intercepts Android runtime function calls to capture DEX content as it loads into memory.
- [Android Version Range Support](https://awesome-repositories.com/f/operating-systems-systems-programming/legacy-android-ui-support/android-version-range-support.md) — Runs on Android devices from version 5.0 through 12, covering both legacy and modern systems. ([source](https://github.com/CodingGay/BlackDex/blob/main/settings.gradle))
- [Cross-Version Android Support](https://awesome-repositories.com/f/operating-systems-systems-programming/legacy-android-ui-support/cross-version-android-support.md) — Runs on Android devices from version 5.0 through 12 without root access.
- [No-Root DEX Extraction](https://awesome-repositories.com/f/operating-systems-systems-programming/root-privilege-abstractions/no-root-privilege-escalations/no-root-dex-extraction.md) — Extracts DEX files from installed apps without requiring root access or system modifications.

### Programming Languages & Runtimes

- [32/64-bit Architecture Support](https://awesome-repositories.com/f/programming-languages-runtimes/webassembly-binary-manipulators/64-bit-memory-support/32-64-bit-architecture-support.md) — Provides separate builds for 32-bit and 64-bit architectures to unpack apps compiled for either.

### Security & Cryptography

- [Android APK Unpackers](https://awesome-repositories.com/f/security-cryptography/binary-unpacking/android-apk-unpackers.md) — Removes obfuscation layers from installed and uninstalled APK files to recover original application code.

### Software Engineering & Architecture

- [Android Method Instruction Repairers](https://awesome-repositories.com/f/software-engineering-architecture/compile-time-code-generation/dynamic-method-generation/method-body-composition/android-method-instruction-repairers.md) — Reconstructs obfuscated method bodies by filling in redirected instructions and fixing NOP placeholders.

### Web Development

- [DexFile Cookie Retrieval](https://awesome-repositories.com/f/web-development/cookie-management/cookie-retrieval-utilities/dexfile-cookie-retrieval.md) — Reads DEX data by accessing the internal DexFile cookie handle from the Android runtime.

### Testing & Quality Assurance

- [Android Device Emulator Compatibility](https://awesome-repositories.com/f/testing-quality-assurance/automation-interaction-tools/user-interaction-simulation/device-emulators/android-device-emulator-compatibility.md) — Operates on physical phones or emulators across Android 5.0 through 12 without external dependencies. ([source](https://github.com/CodingGay/BlackDex#readme))
