{"name":"ASC: A Super Fast Android Decompiler for Mobile Reverse Engineering","description":"ASC is an innovative and exceptionally fast Android decompiler front-end, specifically designed for mobile researchers and agents. It redefines traditional decompilation by directly querying compiled artifacts, offering on-demand code extraction and analysis without heavy preprocessing. This approach results in significantly reduced memory usage and lightning-fast performance, even on large APKs.","github":"https://github.com/MG1937/ASC","url":"https://osrepos.com/repo/mg1937-asc","source":"osrepos.com","sourceDescription":"This repository profile is provided by osrepos.com, an open source repository discovery platform.","repositoryProfile":"https://osrepos.com/repo/mg1937-asc","generatedFor":"open source discovery and AI-assisted research","markdown":"https://osrepos.com/repo/mg1937-asc.md","json":"https://osrepos.com/repo/mg1937-asc.json","topics":["Android","Decompiler","Reverse Engineering","Mobile Security","Python","Static Analysis","Performance","Agent"],"keywords":["Android","Decompiler","Reverse Engineering","Mobile Security","Python","Static Analysis","Performance","Agent"],"stars":null,"summary":"ASC is an innovative and exceptionally fast Android decompiler front-end, specifically designed for mobile researchers and agents. It redefines traditional decompilation by directly querying compiled artifacts, offering on-demand code extraction and analysis without heavy preprocessing. This approach results in significantly reduced memory usage and lightning-fast performance, even on large APKs.","content":"## Introduction\n\nASC, also known as Droid ASC, is a groundbreaking Android decompiler front-end engineered for speed and efficiency, targeting mobile researchers and security agents. It challenges the conventional, resource-intensive methods of decompilation by adopting a stateless, zero-overhead engine that queries compiled artifacts directly. This innovative approach was highlighted in the presentation \"Droid ASC: R8 Compiler Optimization as a DeCompiler Primitive\" at Black Hat Europe, showcasing its ability to bypass traditional bottlenecks associated with processing massive Android APKs.\n\nTraditional decompilers often consume vast amounts of RAM and time building heavy global indexes, a process ASC deems unnecessary. Instead, ASC treats the compiled artifact as a read-only database, extracting and searching code on demand in milliseconds, fundamentally redefining how compiled code is analyzed.\n\n## Why Use and Key Benefits\n\nASC offers significant advantages over conventional decompilation tools:\n\n*   **Unmatched Speed:** Executes global cross-reference searches in approximately 1.79 seconds and decompiles target classes in just 177 milliseconds, even on large APKs (e.g., a 352MB commercial APK).\n*   **Low Memory Footprint:** Achieves high performance using minimal RAM, demonstrating operations with only 141MB of memory for substantial applications.\n*   **Stateless and On-Demand:** Eliminates the need for heavy preprocessing and bloated databases by directly probing within the Deflate bitstream and building dense Huffman lookup tables. This allows for core metadata extraction without touching irrelevant data blocks.\n*   **Innovative Compiler Optimization Leverage:** Weaponizes R8 compiler behaviors, such as deterministic constant relocation and instruction deduplication, to perform lightning-fast cross-DEX code searches.\n*   **O(1) Instruction Locating:** Features an engineered O(1) instruction locating primitive, enabling constant-time method resolution without building heavy mapping tables.\n*   **Dynamic Reconstruction:** Upon hitting a target, Droid ASC extracts only the specific bytecodes and their dependencies, dynamically reconstructing a minimal and self-consistent DEX entirely in memory for instant decompilation.\n\n## Installation\n\nInstalling ASC is straightforward. You can install it via PyPI or directly from the source:\n\nbash\n# from PyPI\npip install droidasc\n\n# or from source\npip install .\n\n\nAfter installation, the `droidasc` CLI command becomes globally available, providing a powerful interface for your decompilation needs.\n\n## Examples\n\nThe `droidasc` CLI offers various commands for interacting with Android APKs:\n\n\nusage: droidasc [-h] {getclass,listclass,getmanifest,findrefs} ...\n\nASC tooling entry.\n\npositional arguments:\n  {getclass,listclass,getmanifest,findrefs}\n    getclass            Locate the target class in APK, extract one DEX in memory, then decompile.\n    listclass           List classes defined across all DEX entries in APK.\n    getmanifest         Decode AndroidManifest.xml from APK and print it as XML.\n    findrefs            Find code references for string/type/method/field across all DEX entries in APK.\n\noptions:\n  -h, --help            show this help message and exit\n\nexamples:\n  droidasc getclass app.apk Lcom/poc/Main; -o Main.java\n  droidasc listclass app.apk --prefix com.poc\n  droidasc getmanifest app.apk -o AndroidManifest.xml\n  droidasc findrefs app.apk string token -o string_refs.txt\n\n\n## Links\n\n*   **GitHub Repository:** [MG1937/ASC](https://github.com/MG1937/ASC){:target=\"_blank\"}\n*   **Black Hat Europe Presentation:** [Droid ASC: R8 Compiler Optimization as a DeCompiler Primitive](https://blackhat.com/europe/arsenal/schedule/index.html#droid-asc-r8-compiler-optimization-as-a-decompiler-primitive-54834){:target=\"_blank\"}","metrics":{"detailViews":2,"githubClicks":1},"dates":{"published":null,"modified":"2026-09-17T12:41:16.000Z"}}