SimoneAvogadro/android-reverse-engineering-skill
Claude Code skill to support Android app's reverse engineering
解决的问题
本项目提供了一套专门用于逆向工程 Android 应用程序的工具集,用于提取其 HTTP API 并理解其内部逻辑。它简化了对 APK、XAPK、JAR 和 AAR 文件的反编译过程,并克服了 R8 混淆带来的常见障碍,这类混淆通常会将类名重命名为无意义的字符串。
工作原理
该工具集集成了多个反编译器(jadx、Fernflower/Vineflower),并提供一系列脚本以自动化分析工作流:
- 指纹识别: 在完整反编译前快速识别应用的框架(如 Flutter、React Native)、HTTP 栈和混淆级别。
- 反编译: 将二进制文件转换为可读的 Java/Kotlin 代码。
- Kotlin 名称恢复: 利用 R8 混淆后仍保留的 Kotlin 元数据,将混淆后的类名(如
a.b.c)映射回原始名称(如LoginRepository)。 - API 提取: 在反编译代码中扫描各种栈(包括 Retrofit、OkHttp、Ktor、Apollo(GraphQL)、Koin)的端点、URL 和认证模式。
- 调用流追踪: 允许用户从 UI 组件(Activities/Fragments)开始,通过 ViewModels 和 repositories 追踪到最终的 HTTP 调用路径。
适用人群
安全研究人员、渗透测试人员、恶意软件分析师,以及对互操作性分析或教育类 CTF 比赛感兴趣的开发者。
主要亮点
- R8 去混淆: 通过元数据恢复原始 Kotlin 类名,使混淆后的代码显著更易读。
- 广泛栈支持: 可从现代 Kotlin Multiplatform(KMP)栈(如 Ktor 和 Apollo GraphQL)中提取 API。
- API 优先工作流: 提供专用脚本用于查找 API 调用和硬编码的 URL。
- 多引擎支持: 支持多个反编译引擎,可并行比较输出结果。
- Claude Code 集成: 可作为技能安装到 Claude Code CLI 工具中。
相关
- 项目
- 项目
- 项目
- 项目