{
  "added_at": "2026-10-19",
  "additional_evidence_urls": [
    "https://github.com/MG1937/ASC/blob/60033d1c76bc5904588f24955cae4e83a2ba4f5d/README.md#L1-L13",
    "https://github.com/MG1937/ASC/blob/60033d1c76bc5904588f24955cae4e83a2ba4f5d/README.md#L15-L66",
    "https://github.com/MG1937/ASC/blob/60033d1c76bc5904588f24955cae4e83a2ba4f5d/pyproject.toml",
    "https://github.com/MG1937/ASC/blob/60033d1c76bc5904588f24955cae4e83a2ba4f5d/tests/TESTING.md",
    "https://github.com/MG1937/ASC/blob/60033d1c76bc5904588f24955cae4e83a2ba4f5d/.github/workflows/tests.yml",
    "https://github.com/MG1937/ASC/blob/60033d1c76bc5904588f24955cae4e83a2ba4f5d/dadguard/__init__.py",
    "https://github.com/MG1937/ASC/blob/60033d1c76bc5904588f24955cae4e83a2ba4f5d/LICENSE",
    "https://github.com/MG1937/ASC/releases/tag/dev-0.1.2-post2",
    "https://pypi.org/project/droidasc/0.1.2.post2/"
  ],
  "category": "android",
  "description_en": "Python Android decompiler that answers queries directly against an APK instead of first unpacking and indexing it. It probes compressed DEX entries in place, uses the layout that the R8 compiler’s constant relocation and instruction deduplication leave behind to search string, type, method and field references across DEX files, and for a requested class rebuilds a minimal, self-consistent DEX in memory that a bundled copy of Androguard’s decompiler turns into Java. The droidasc CLI and Tk GUI list classes, decompile single classes, decode AndroidManifest.xml and find subclasses or interface implementations; the README presents it as a lightweight back end for agents analyzing many APKs.",
  "description_zh": "用 Python 编写的 Android 反编译器，直接对 APK 执行查询，而不必先解包并建立索引。它在压缩的 DEX 条目中就地探测数据，利用 R8 编译器的常量重定位和指令去重所留下的布局，跨 DEX 文件搜索字符串、类型、方法和字段引用；对指定的类，则在内存中重建一个最小且自洽的 DEX，再由内置的 Androguard 反编译器副本转换为 Java 代码。droidasc 命令行和 Tk 图形界面可列出类、反编译单个类、解码 AndroidManifest.xml，并查找子类或接口实现；README 将其定位为供智能体批量分析 APK 的轻量后端。",
  "entry_url": "https://awesomerea.org/resources/droid-asc/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/droid-asc/",
  "evidence_url": "https://github.com/MG1937/ASC/blob/60033d1c76bc5904588f24955cae4e83a2ba4f5d/README.md",
  "group": "tools",
  "id": "droid-asc",
  "json_url": "https://awesomerea.org/resources/droid-asc/record.json",
  "kind": "tool",
  "markdown_url": "https://awesomerea.org/resources/droid-asc/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/droid-asc/index.md",
  "name": "Droid ASC",
  "name_zh": "Droid ASC Android 反编译器",
  "record_type": "resource",
  "relationship": "foundation",
  "requirements": [
    "Latest release at review: dev-0.1.2-post2, published 2026-10-14 without binary assets and matching PyPI’s droidasc 0.1.2.post2; the reviewed main commit adds only two README notes. The project began in June 2026. The README now says it has been rewritten 1:1 in Rust as the separate rust_ASC repository, which adds full-APK decompilation and is to be updated in sync.",
    "Install with pip install droidasc or from source. pyproject.toml requires Python 3.10+ with axml and mutf8, and CI runs the unit, integration and GUI suites and gates performance regressions on Ubuntu with Python 3.11 and 3.12. APK and DEX inputs come from the user; the README’s benchmark APKs are not in the repository, and the DEX inside the test fixture holds only AndroidX, Kotlin and Material Components library classes.",
    "Speed and memory figures are author-reported: on Telegram X, WhatsApp, Grab and Lark APKs of 59–352 MB with 10 threads, the README reports string-reference searches 62–302× and single-class decompilation 38–304× faster than JADX while using 36–141 MB, and says JADX ran out of memory on the largest. Java output comes from the bundled Androguard decompiler, one class at a time. The README targets agent workflows but describes no MCP server; agents call the CLI or Python package.",
    "Apache-2.0; the bundled dadguard package carries Androguard code, which is also Apache-2.0. Decompiled code keeps the rights of the app’s owner."
  ],
  "requirements_zh": [
    "审阅时最新版本为 dev-0.1.2-post2，发布于 2026-10-14，未附二进制文件，与 PyPI 上的 droidasc 0.1.2.post2 一致；所审阅的 main 提交只多了两条 README 说明。项目始于 2026 年 6 月。README 现称它已按 1:1 方式用 Rust 重写为独立的 rust_ASC 仓库，后者增加了整 APK 反编译，今后两者将同步更新。",
    "可通过 pip install droidasc 或从源码安装。pyproject.toml 要求 Python 3.10+，依赖 axml 和 mutf8；CI 在 Ubuntu 上以 Python 3.11 和 3.12 运行单元、集成和图形界面测试，并拦截性能回退。APK 和 DEX 输入由使用者提供；README 基准测试所用的 APK 不在仓库中，测试夹具中的 DEX 只包含 AndroidX、Kotlin 和 Material Components 库的类。",
    "速度和内存数据均为作者自报：README 称在 Telegram X、WhatsApp、Grab 和 Lark 四个 59–352 MB 的 APK 上以 10 个线程运行时，字符串引用搜索比 JADX 快 62–302 倍，单类反编译快 38–304 倍，内存占用为 36–141 MB，并称 JADX 在最大的目标上内存不足。Java 输出由内置的 Androguard 反编译器生成，每次处理一个类。README 面向智能体工作流，但未介绍 MCP 服务器；智能体需调用命令行或 Python 包。",
    "采用 Apache-2.0 许可；内置的 dadguard 包含 Androguard 代码，后者同样采用 Apache-2.0。反编译得到的代码仍归应用权利人所有。"
  ],
  "targets": [
    "app"
  ],
  "url": "https://github.com/MG1937/ASC",
  "verification": "source-reviewed",
  "verified_at": "2026-10-19"
}
