newliver666/apk-reverse

Suitable for Android APK reverse engineering analysis

解决的问题

本项目提供了一套完整的 Android APK 逆向工程能力。它使 AI 代理能够执行诸如应用去冗余、移除广告、修补 DEX 文件、重新打包 APK 以及分析运行时或服务器端行为等任务。它特别针对逆向工程中常见的失败情况,例如绕过服务器端付费墙、处理加固/打包的目标,以及确保修补后的构建版本保持功能正常和稳定。

如何工作

本项目并非教程,而是一个「代理技能」,可由 AI 代理(如 Claude Code 或 Codex)加载。它采用结构化方法,引导代理完成整个流程:

  • 流程指导:SKILL.md 文件作为包含「门控」(通过标准)和「覆盖规则」的流程,防止代理产生幻觉或重复错误。
  • 按需引用:references/ 目录中的详细技术指南仅在特定步骤需要时才加载。
  • 参数化脚本:scripts/ 目录中包含大量 Python 和 JavaScript 脚本,负责处理从字节级修补、DEX 读取到 Frida 基于的运行时探测和 APK 重新打包等繁重任务。
  • 环境验证:首先使用 doctor.py 脚本验证工具可用性和环境健康状况(例如时钟偏移、ADB 连接性),以避免测量污染。

适用对象

本项目专为配备技能加载框架的 AI 代理设计,也适用于希望为代理提供 Android 应用分析与修改所需专业工具和方法论的开发者或安全研究人员。

主要亮点

  • 外科式修补:支持等长字节编辑,避免破坏应用稳定性;并提供 DEX 级重写器,以实现更复杂的修改。
  • 加固目标支持:包含识别和解包打包器的工具,处理代码虚拟化,并中和故意导致进程崩溃的原生库。
  • 运行时分析:集成 Frida 探针,用于网络层分析和内存映射,以查看实际执行的内容。
  • Dart AOT 支持:提供专门用于恢复字面量和反汇编 Dart AOT 快照的工具。
  • 稳定性检查:包含「声明阶梯」和验证步骤,确保修补后的 APK 确实能运行,而非仅是「构建成功」但运行时失败的假象。

写过它的文章

相关

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