
Github作者SimoneAvogadro开源了一个专为Claude Code设计的逆向工程技能仓库。这个仓库名为 android-reverse-engineering-skill,其核心目标非常直接:将APK文件交给AI,让它自动完成反编译、提取所有HTTP接口,并绘制出清晰的调用流程图。
想想看,传统的安卓App逆向过程是怎样的?你需要手动安装jadx、dex2jar等工具,然后在被混淆的代码海洋里一行行地搜索,寻找Retrofit注解或OkHttp的调用链,不仅耗时费力,还很容易遗漏关键信息。而现在,装上这个技能后,你只需要一句自然语言指令或一条简单的斜杠命令,Claude就能为你生成结构化的分析结果。无论是进行授权渗透测试的安全研究员、需要对接第三方API的开发者,还是参加CTF比赛的选手,都能从中节省大量宝贵时间。
笔者仔细翻阅了整个仓库,并对照README文件实践了完整的安装和使用流程。其中包含的干货确实不少。接下来,我们就深入拆解这个技能:它究竟能做什么、如何安装、在实战中如何使用,以及为什么你现在就应该去点个star。
什么是Android Reverse Engineering Skill?
本质上,这个技能是Claude Code框架下的一个专业插件。Claude Code本身是一个让AI支持插件和技能的系统,而这个仓库正是专注于Android逆向与API提取的模块。
它能处理四种常见的文件格式:APK、XAPK、JAR和AAR。其工作原理是利用专业的反编译引擎将字节码转换为可读的Java代码,然后智能地解析出网络层的所有细节。
它的核心亮点主要体现在以下五个方面:
- 双引擎反编译:默认使用jadx(目前公认Dex转Java效果最好的工具),同时可选择Vineflower或Fernflower(JetBrains社区维护版)进行对比。在面对复杂混淆代码时,双引擎可以互相补充,发现被单一引擎遗漏的信息。
- API自动提取:能够精准识别出Retrofit定义的网络端点、OkHttp拦截器的调用、代码中硬编码的URL、以及认证头和token的使用模式。
- 调用流追踪:可以从Activity或Fragment的入口点开始,一路追踪到ViewModel、Repository,直至网络请求层,清晰地描绘出整个调用链条。
- 结构分析:自动解析APK的Manifest文件、分析包结构、并尝试识别其采用的架构模式(如MVVM、MVP等)。
- 混淆友好:内置了针对ProGuard或R8混淆输出的导航策略,不会被那些毫无意义的类名和方法名困住。
仓库里还附带了一整套脚本和参考文档,让你既可以通过AI的自然语言交互来指挥,也可以单独运行命令行实现自动化处理。作者的设计非常务实——这并非简单的提示词堆砌,而是真正接入了实际可用的工具链。
我们简单对比一下传统手动逆向和使用这个技能后的区别:
| 传统手动逆向 |
装上这个技能后 |
| 自己安装JDK、jadx、apktool,敲半天命令 |
Claude自动检查依赖,一键启动 |
| 手动grep搜索成千上万个Java文件寻找“@POST”注解 |
自动提取所有Retrofit/OkHttp接口定义 |
| 依赖IDE跳转来理解调用链,容易中断 |
AI直接输出从UI界面到网络层的完整调用链路 |
| XAPK格式需要手动解压内部的每个APK |
自动解压并逐个反编译分析 |
| 遇到混淆代码看不懂就容易卡住 |
提供双引擎对比和专门的导航策略 |
这张表格基本概括了传统方式的痛点与此技能带来的优势。截至本文撰写时,该仓库已获得超过250颗星,最近一次更新在3月2日,这表明它在社区中获得了不错的认可度。
安装过程有多简单?
好消息是,整个安装过程比想象中更加友好。无需你是编程高手,这里有两套方案可供选择。
方案一:Claude Code内一键安装(强烈推荐)
在Claude Code的聊天界面中,直接输入以下两行命令:
/plugin marketplace add SimoneAvogadro/android-reverse-engineering-skill
/plugin install android-reverse-engineering@android-reverse-engineering-skill
执行完毕后,这个技能就会永久添加到你的所有会话中,下次可以直接使用。
方案二:本地克隆安装(适合希望修改源码或深度定制的用户)
- 克隆仓库到本地:
git clone https://github.com/SimoneAvogadro/android-reverse-engineering-skill.git
- 进入Claude Code,运行以下命令(注意替换路径):
/plugin marketplace add /你的本地路径/android-reverse-engineering-skill
/plugin install android-reverse-engineering@android-reverse-engineering-skill
在安装前,你需要准备两个必备的工具:
- Java JDK 17+(从官网下载即可)
- jadx CLI(在GitHub搜索skylot/jadx,下载最新版本)
此外,还有一些可选但强烈推荐的工具:
- Vineflower 或 Fernflower(可以提供更好的反编译效果)
- dex2jar(用于处理某些特殊的DEX文件)
仓库内自带一个 scripts 文件夹,其中的 check-deps.sh 和 install-dep.sh 脚本可以自动检测你的系统环境(Windows/Mac/Linux)并帮你安装缺失的依赖。例如,安装jadx的命令如下:
bash plugins/android-reverse-engineering/skills/android-reverse-engineering/scripts/install-dep.sh jadx
整个过程大约只需5到10分钟。作者还非常贴心地撰写了详细的步骤说明,放在 references/setup-guide.md 文件中,你完全可以照着操作。
安装完成后,验证方法超级简单:在Claude Code里输入“Decompile this APK”或者直接使用 /decompile 命令,如果Claude能正确识别并调用该技能,就说明安装成功了。
实战上手:这些操作直接抄作业
安装完毕,我们就可以开始实际使用了。该技能支持两种触发方式:斜杠命令和自然语言。
方式一:斜杠命令(最快捷)
/decompile path/to/your-app.apk
这条命令会自动运行完整流程:依赖检查 → 反编译 → 结构分析 → API提取 → 调用流映射。输出结果直接就是结构化的,非常清晰。
它还支持一些额外的参数:
--engine fernflower:指定使用Fernflower引擎
--engine both:同时使用双引擎进行对比分析
--deobf:启用增强的混淆处理模式
方式二:自然语言(最灵活)
你可以直接像对话一样对Claude下达指令:
- “Decompile this APK and extract all API endpoints”
- “Reverse engineer this Android app and trace the login flow”
- “Analyze this AAR library for Retrofit calls”
- “Follow the call flow from MainActivity to network requests”
Claude会一步步执行你的指令,并且你还可以根据初步结果提出后续问题,例如“把登录相关的认证头单独列出来”,进行更深入的分析。
方式三:脚本独立运行(适合批量处理任务)
仓库自带了四个实用脚本,你可以随时在命令行中调用:
- 检查依赖是否齐全:
bash scripts/check-deps.sh
- 安装缺失的工具(以vineflower为例):
bash scripts/install-dep.sh vineflower
- 执行反编译(支持自动解压XAPK):
bash scripts/decompile.sh app.xapk
- 专门从反编译后的代码中查找API调用:
bash scripts/find-api-calls.sh output/sources/ --retrofit
bash scripts/find-api-calls.sh output/sources/ --urls
笔者用一款常见APP的APK进行了测试,运行 /decompile 命令后,短短几分钟就获得了完整的分析报告:包括Manifest解析、包结构图、所有网络URL列表、Retrofit接口定义,甚至推测出了可能的token刷新逻辑。同样的工作量,如果手动操作至少需要半天时间。
这个技能在以下几个真实场景中能立刻派上用场:
场景1:安全审计
上传一个待测APP的APK,让AI提取所有的API接口和鉴权方式,可以快速发现其中是否存在硬编码的密钥或不安全的传输协议。这完全符合授权渗透测试的工作要求。
场景2:开发者对接第三方服务
当你需要对接一个闭源APP,但其接口文档缺失或不完整时,将它的APK扔给这个技能,AI能直接为你整理出可用的Retrofit接口代码模板,复制粘贴即可开始对接开发。
场景3:学习优秀架构设计
如果你想研究某款知名APP是如何实现MVVM的,可以让AI追踪从LoginActivity到Repository的完整调用流,瞬间理解其最佳实践和设计思路。
场景4:恶意软件分析
在沙箱环境中分析可疑的APK时,AI可以帮你快速列出所有的外联URL和潜在的调用路径,省去大量繁琐的手动搜索和分析工作。
进阶玩法和避坑指南
当你熟悉基本操作后,还可以解锁更多高级用法。
- 双引擎对比模式:对混淆严重的代码使用
--engine both 参数,同时对比jadx和Vineflower的反编译输出,你可以选择可读性更高的版本。作者提到,这招在处理经过R8深度优化的代码时特别有效。
- 批量处理XAPK:许多采用分包技术的APP都使用XAPK格式,这个技能能自动解压其中的每个APK并逐一进行分析,非常省事。
- 结合参考文档自学:仓库
references 文件夹里的 jadx-usage.md、fernflower-usage.md、api-extraction-patterns.md、call-flow-analysis.md 等文档,包含了现成的分析模式和正则表达式示例。把这些当作教材,新手也能快速成长为逆向分析专家。
- 命令行与Claude混合使用:先用脚本批量反编译一批APK,然后将生成的
output 文件夹直接丢给Claude,让它进行二次的、更聚焦的智能分析。
当然,在使用过程中也有几个“坑”需要注意避开:
- 法律合规是第一要务:仓库的README写得非常清楚,这个技能仅限于合法用途——例如授权的渗透测试、安全研究、恶意软件分析、教育学习以及CTF比赛。未经授权逆向他人的软件,可能违反知识产权法和计算机相关法规。作者已经声明了免责,使用者需要自己承担相应责任。
- 环境准备要到位:JDK必须是17或更高版本,jadx也需要是CLI命令行版本。Windows用户需注意文件路径中不要包含空格。
- 注意资源消耗:反编译大型APP可能会占用几百MB的内存和数分钟的时间。建议在配备SSD硬盘和至少8GB内存的机器上运行,以获得更好体验。
- 对关键输出进行验证:虽然AI提取的结果准确率很高,但对于涉及核心业务或安全认证的关键接口,建议还是手动验证一次,尤其是在将其用于生产或重要报告时。
为什么这个项目值得立刻关注?
随着AI在安全和开发领域的应用日益深入,这类技能恰好填补了安卓逆向工程自动化的空白。
它并非简单地让Claude去“猜测”代码逻辑,而是真正对接了jadx、Fernflower这些久经考验的成熟工具,再利用AI进行智能解析和链路追踪。最终带来的结果是:准确率高、分析过程可解释性强、输出高度结构化。
对于安全研究员而言,这意味着审计效率的成倍提升;对于开发者而言,学习和集成第三方服务的门槛被大幅降低;对于学生和CTF爱好者而言,则可以更专注于核心的逻辑挑战,而非繁琐的工具配置。
从长远来看,这类开源的AI技能正在让逆向工程这项技术从“少数专家的专属领域”转变为“更多开发者可用的效率工具”。该仓库目前正处于活跃更新期,未来势必会有更多优化和功能加入。
总结一下
对于从事安卓逆向或相关领域的朋友,强烈建议你访问 https://github.com/SimoneAvogadro/android-reverse-engineering-skill 了解一下。只需两行命令完成安装,你就会真切地感受到,AI确实已经能帮你完成许多实质性的工作了。