反编译提速 269 倍,两天挖出 5 个系统漏洞

Droid ASC 拆解报告:把「反编译」重写成「按需查询」的 Agent 基础设施
【这是什么】
Droid ASC 是一个按需的 Android 反编译器前端,官方定位写在 GitHub 描述里:为 Agents / Mobile Researchers 设计的超高速 Android 反编译前端。它不是 JADX 那样的图形化反编译工具,而是一个「取数后端」。
核心工程主张写在 README 标题里:R8 Compiler Optimization as a DeCompiler Primitive。作者的反常识论点是:编译产物本身已经是高度结构化的数据,现代反编译器却偏要花几十分钟、吃掉几个 GB 内存,去重建一份臃肿的代码关系数据库。既然可以直接从 APK 里毫秒级抽取任意代码关系,那套重预处理就没有存在价值。
具体实现路径(README 原文描述):
- 不做 full inflate,直接在 Deflate 比特流里探测,构建密集的 Huffman 查找表,只抽取核心元数据,不碰无关数据块;
- 利用 R8 编译器的优化行为——确定性常量重定位和指令去重留下的高集中度物理布局,把它武器化成极快的跨 DEX 代码搜索;
- 自研 O(1) 指令定位原语,把裸字节码 offset 映射回方法时,不需要建重型映射表,实现常数时间方法解析;
- 命中目标后只抽取特定字节码和依赖,在内存里动态重建一个最小且自洽的 DEX 用于即时反编译。
性能数据(README + Show HN 帖子):
| 场景 | 耗时 | 对比 |
|---|---|---|
| 50MB APK 全局交叉引用索引搜索 | 400 毫秒 | 比 JADX 快 41 倍 |
| 300MB APK(README 为 352MB 商业 APK) | 1.79 秒 | 比 JADX 快 269 倍 |
| 反编译目标类 | 177 毫秒 | 仅占用 141MB 内存 |
基准测试覆盖跨越 4 个数量级 的 APK 体积。仓库主语言 Python,创建于 2026-06-09,当前 1888 Star、258 Fork,Topics 打满 agent、agentic-ai、android、decompiler、reverse-engineering。

【背景 / 谁做的】
作者的起点非常「一人公司」:几天前他在用自己的手机做分析,用 JADX MCP 时卡到无法忍受。手上有一大批 APK 要分析,几乎每一个都要新起一个 JADX 进程,跑两三个就把电脑内存吃爆。效率低到不可接受,于是他写了个脚本——这就是 Droid ASC 的雏形。
两个关键背景信号:
一、他在往安全会议渠道走。 README 第一行就是 Black Hat Europe Arsenal 的议题链接,标题与项目同名(Droid ASC: R8 Compiler Optimization as a Decompiler Primitive)。这不是随便放的外链,是把项目当作会议演讲的载体来经营。
二、他用自家工具跑出了真实战果。 帖子里的描述是一次实验:用 GPT5.6 + ASC 组成流水线,几乎无人干预连续跑了两天,分析了他设备上所有 ==uid=1000== 的 APK,拉取了近 100 个 APK/JAR/APEX 文件,最终发现:
- 1 个 RCE 漏洞
- 1 个 系统 uid 任意文件写入漏洞
- 2 个 可执行 ROOT 命令的漏洞
- 1 个 受 SELinux 限制、可执行 ROOT 命令的漏洞
这条信息量很大:它同时证明了工具的吞吐能力(两天扫完一台设备的系统级应用)和发现能力(不是"能反编译",而是"能挖到洞")。而它被用来验证的场景,本身就是 Agent 自主循环。
【怎么获客】
三条线,成本都极低:
1. Show HN 首发,标题即卖点。 帖子标题直接写死对比数字:「41–269x Faster Than JADX」。不是"更快的反编译器",而是"快 41 到 269 倍"。性能倍数是安全工具最硬的传播货币,因为它可被复现、可被质疑、也可被验证。
2. 精准踩中社区公认痛点。 HN 评论区第一条反馈就是:「JADX 的内存管理问题长期存在,移动逆向社区很多人都被它折磨过。」作者的经历不是个人抱怨,而是整个社区的集体创伤。蹭的是旧工具的公共债。
3. 抢 Agent 生态的搜索入口。 GitHub Topics 里 agent、agentic-ai 排在最前,项目描述第一句就是 "designed for Agents"。它不跟 JADX 抢 GUI 用户,抢的是"Agent 需要一个可被程序调用的反编译后端"这个新位置。评论区已经有人主动问:「Have you considered adding MCP?」需求是自下而上冒出来的,不是被营销出来的。
外加一条隐性渠道:漏洞战果本身是内容素材。RCE、任意文件写入、ROOT 命令执行,这些词在安全圈自带传播力,比任何功能列表都更能建立信任。
【验证情况 / MRR】
收入侧没有任何公开数据。 没有定价页、没有订阅入口、没有 MRR 披露,商业形态尚未显现。
可见的验证信号集中在需求和使用强度上:
- 1888 Star、258 Fork,且项目创建时间为 2026-06-09,属于短期爆发型增长;
- HN 评论区出现明确的"这就是我要的东西"式反馈("This looks like exactly what I need");
- 社区主动提出功能请求(MCP 集成),说明用户已经在设想把它嵌进自己的工作流,而不只是围观;
- 使用强度的验证比 Star 更有说服力:跨 4 个数量级 的 APK 基准、352MB 商业 APK 实测、以及连续两天无人干预扫完一台设备近 100 个 系统级文件的流水线。
换句话说,这个项目目前验证的是技术可行性和真实使用场景,而不是付费意愿。反编译/逆向工具是典型的"个人免费、企业付费"品类,真正的收入信号要等它进入企业合规审计、加固对抗、供应链安全这些预算科目才会出现。
【对一人公司的可复制性】
难以照搬的部分: 技术本身处在编译原理 + 逆向工程的深水区。Deflate 比特流内探测、Huffman 查表、R8 优化行为逆向利用、O(1) 指令定位——这些不是周末项目能补的课。护城河是真的。
但真正可复制的,是它背后的四个模式,而不是它的代码:
① 「把重预处理换成按需查询」是一个可迁移的范式。 传统工具的路径是"先全量建索引,再查",Droid ASC 的路径是"把产物当只读数据库,查的时候再抽"。这个思路可以平移到任何大体积编译产物的分析场景:iOS 的 IPA / Swift 符号、.NET 程序集、固件镜像、甚至大型 monorepo 的代码索引。找那些"慢一次、卡死一次"的旧工具,问一句:那个索引真的必须建吗?
② 「不给人类做工具,给 Agent 做后端」。 这是当下 OPC 最容易切入的位置:人类工具的体验竞争已经很卷(GUI、插件、文档),但 Agent 需要的是低内存占用、毫克级延迟、可并行调用、无状态。旧工具几乎都是按人类交互节奏设计的。把你的能力重新封装成 MCP server 或 CLI 原语,服务对象从"打开软件的人"变成"调用你的模型"。
③ 「性能倍数 + 真实战果」是最省钱的营销组合。 一个可复现的倍数量化(41 倍 / 269 倍)+ 一个真实挖出来的高危漏洞(RCE、ROOT),比十篇功能说明都有效。对 OPC 来说,这等于把研发过程直接变成内容资产。
④ 用前沿模型搭自动化流水线,是一人做安全研究的现实解法。 两天无人干预扫完一台设备、产出 5 个漏洞——这在过去需要一个团队。GPT5.6 + 专用工具的组合,让"一个人的研究产能"第一次接近小团队。
⑤ 分发路径极轻。 GitHub 仓库 + Show HN + 会议 CFP(Black Hat Europe Arsenal),三者都是零渠道成本、纯内容驱动。对没有销售团队的一人公司,这是唯一现实的开局方式。
【风险与机会】
风险:
- 命脉绑在 R8 的内部实现上。 整个加速逻辑建立在 R8 编译器的确定性常量重定位、指令去重布局这两个行为上。Google 一改 R8 的优化策略,核心假设就可能失效。这是拿性能换稳定性的典型赌注,且赌的是别人的编译器。
- 性能差距是阶段性窗口。 JADX 内存问题被公开吐槽多年,一旦它(或某个新项目)解决了内存和启动开销,41–269 倍 的叙事会迅速缩水。这类"快 N 倍"的领先优势,在开源世界里保质期通常以季度计。
- 安全工具的合规与声誉风险。 反编译 + 自动化漏洞挖掘的工具,天然处在双用途地带。挖自己设备的洞和挖别人的洞,中间只差一个参数。
- 一人项目的维护压力。 1888 Star 意味着持续涌入的 issue、PR、适配请求和"为什么在我的 APK 上失败"。这类深度工具的支持成本远高于普通开源项目。
- 变现与开源的冲突还没解决。 漏洞研究领域工具的付费方(企业安全团队)恰恰最在意可审计、可定制、可担责,而这些通常要求非开源或商业授权。目前项目没有任何迹象表明作者已经想清楚这条线。
机会:
- MCP 集成是社区已经点名的下一步。 有人主动问,说明需求已存在、只差实现。把 ASC 变成 Agent 的标准反编译后端,它就从"一个工具"变成"一层基础设施"。
- 把研究流水线产品化。 「两天扫完一台设备全部系统级 APK,输出 5 个漏洞」这件事本身就可以打包成服务:移动 App 安全审计、供应链风险扫描、加固对抗验证。企业客户为这个结果付费的意愿,远高于为一个反编译器付费。
- 横向迁移到其他产物格式。 帖子提到已处理 APK/JAR/APEX。同样的引擎思路面对 IPA、固件、.NET 程序集时,痛点只会更痛(这些领域的传统工具更慢、内存占用更夸张)。
- 会议演讲 → 咨询 → 培训的经典转化路径。 Black Hat Europe Arsenal 是安全咨询获客的天然漏斗。一个人的技术权威,在这个圈子里可以直接换算成项目单价。
- 大 APK 场景天然指向企业预算。 352MB 的商业 APK 不是个人开发者会碰的尺寸,它对应的是加固对抗、竞品分析、合规审计、应用商店风控这些有预算科目。个人用户的 Star 撑门面,企业客户的痛点撑收入。
- 「可验证证据包」比功能列表更能转化。 作者手上已经有基准脚本 + 真实漏洞案例。把这套东西做成任何人都能跑一遍复现的验证流程,对安全团队的转化效率,会比任何 README 功能清单都高。
信息来源:Hacker News、GitHub
- 第一步:用 Python 直接扫描 APK 的 Deflate 比特流,不做 full inflate,只抽 DEX 核心元数据
- 第二步:建 Huffman 查找表 + 利用 R8 常量重定位布局,做跨 DEX 代码搜索
- 第三步:实现 O(1) 指令定位原语,命中后在内存动态重建最小自洽 DEX
- 第四步:封装成 MCP server / CLI 原语,交给 GPT5.6 类模型跑无人干预流水线
- 核心加速绑死 R8 内部优化行为,Google 一改策略即失效
- 41–269 倍领先是阶段窗口,JADX 修好内存后叙事缩水
- 反编译+自动挖洞处双用途地带,合规与声誉风险
- 1888 Star 带来持续 issue/PR/APK 适配成本,变现路径未解