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 工具中。

相关

  • 项目
  • 项目
  • 项目
  • 项目