Python · 项目报告

newliver666/apk-reverse

Suitable for Android APK reverse engineering analysis

已完成 打开 GitHub
N
562星标
211Fork
0Issue
MIT许可证

分析结果

项目分析

apk-reverse 是一个面向 Android APK 逆向工程的 Agent Skill 仓库,主要用于指导 Claude Code、Codex 等支持 Agent Skills 格式的智能体完成 APK 分析、去广告、去臃肿、Dex 精准补丁、重打包、运行时分析、服务端边界判断、加固/壳处理、Native 层分析等任务。它不是传统教程或单一工具,而是一套结构化流程、参考文档和可执行脚本集合,强调通过规则、门禁、症状索引和停止条件来减少逆向过程中的无效试错。

适用领域 Android 逆向工程 / APK 重打包与签名 / Dex/Smali 补丁 / Native so 分析 / 加固壳与脱壳 / 移动安全研究 / 广告移除与应用去臃肿 / 运行时 Hook 与 Frida 分析 / 协议分析 / Agent Skills / AI 辅助开发
配置难度 高。该项目面向有 Android 逆向、安全分析或移动端底层经验的开发者。虽然它通过流程和脚本降低了 Agent 执行时的混乱程度,但涉及 Dex、Smali、Native so、签名、加固、Hook、服务端协议、设备环境等多个复杂领域,新手需要较长学习曲线。
商业价值 未知
01

技术亮点

  • 流程化程度高:通过 R1-R4 规则、G1-G4 门禁、症状索引、双击规则和停止条件控制逆向过程
  • 非常适合 AI Agent 使用,避免模型读完资料后仍然凭空推理或重复犯错
  • 覆盖面广,不只包含普通 APK 反编译,还覆盖加固壳、Native 反调试、Dex VMP、Flutter/Dart AOT、React Native、Unity、split APK 等复杂场景
  • 强调先判断客户端/服务端边界,避免在服务端强制控制的功能上浪费时间
  • 重视可验证证据,例如要求通过控制构建、环境检查、运行时证据来确认假设
  • 提供 doctor.py 等脚本用于检查本地逆向环境和工具可用性
  • MIT 许可证,便于学习、修改和集成到内部工具链
  • GitHub 星标数 562、Fork 211,说明在小众逆向工具领域已有一定关注度
02

目标用户

  • Android 逆向工程师
  • 移动安全研究人员
  • 安全测试/渗透测试人员
  • 需要分析 APK 行为的开发者
  • 使用 Claude Code、Codex 或类似 Agent Harness 的开发者
  • 研究加固、反调试、签名校验、证书绑定的工程师
  • 需要做 APK 去广告、去更新、功能裁剪的技术人员
03

配置要求

  • 需要 Python 环境,仓库语言为 Python,脚本依赖可能需要根据 doctor.py 输出补齐
  • 建议安装 Android 逆向常用工具链:adb、apktool、jadx、apksigner、zipalign、Java JDK、Android SDK Build Tools
  • 如进行运行时分析,通常需要 Frida、frida-server、可调试设备或模拟器
  • 如分析 Native 层,可能需要 Ghidra、IDA、radare2、llvm/objdump、readelf 等工具
  • 如处理 LSPosed、MT Manager、root-side dump 等场景,可能需要 root 设备或具备相应权限的 Android 环境
  • 需要 Agent 工具支持按 Skill 格式加载 skills/apk-reverse/SKILL.md 及 references/、scripts/ 内容
  • 具体工具可用性应以 python skills/apk-reverse/scripts/doctor.py 的检查结果为准
04

适用场景

  • 判断 APK 的某个限制是否能在客户端侧修改,还是由服务端强制控制
  • 分析并移除启动广告、弹窗广告、远程配置广告或客户端广告逻辑
  • 对 Dex 进行字节级或方法级补丁,避免反编译/重编译导致的运行时崩溃
  • 处理 APK 重签名后请求被服务端拒绝的问题,例如签名证书参与请求签名
  • 识别 APK 是否使用加固壳、Dex VMP、Java2C、Flutter、React Native、Unity 等框架或保护技术
  • 分析 Native so 中的反调试、反 Hook、进程自杀、签名校验等逻辑
  • 对 split APK / App Bundle 进行读取、签名、安装或合并
  • 使用 Frida、LSPosed、MT Manager 等工具进行运行时分析或系统级替代方案
  • 在逆向过程中记录证据、设置停止条件,避免重复尝试同一种失败方案
05

部署与配置

  • 克隆仓库:git clone https://github.com/newliver666/apk-reverse.git
  • 进入仓库目录:cd apk-reverse
  • 将 skills/apk-reverse 目录作为 Agent Skill 加载到支持 Skills 格式的工具中,例如 Claude Code、Codex 或自定义 Agent Harness
  • 优先运行环境检查脚本:python skills/apk-reverse/scripts/doctor.py
  • 根据 doctor.py 输出确认本机是否具备必要工具,例如 Python、adb、apktool、jadx、Frida、签名工具、Java/Android SDK 等
  • 让 Agent 从 SKILL.md 开始执行流程,并在遇到症状索引中的问题时按要求加载 references/ 下对应文档
  • 如不使用 Agent,也可以手动阅读 SKILL.md 和 references/,但该仓库的设计重点是给智能体按步骤调用,而不是给人线性阅读
06

风险与注意事项

  • 该仓库涉及 APK 逆向、去广告、绕过校验、Hook、脱壳等敏感能力,必须确保用于合法授权的安全研究、兼容性分析、企业内部审计或个人学习场景
  • 它是 Agent Skill,不是开箱即用的一键逆向工具;如果没有支持 Skills 的 Agent 环境,使用体验会明显下降
  • README 描述范围很广,但实际效果依赖 references/ 和 scripts/ 的完整性、质量以及本地工具链配置
  • Android 逆向强依赖目标 APK、设备环境、系统版本、加固厂商和服务端策略,不能保证每个目标都能重打包或补丁成功
  • 处理加固、VMP、Native 反分析、证书绑定时难度较高,初学者可能难以独立完成
  • 如果用于第三方商业 APK 的去广告、绕过付费、规避安全校验,可能违反法律、服务条款或软件许可
  • 重签名或修改 APK 后可能导致登录、支付、请求签名、更新、推送等功能异常

历史记录

热榜历史快照

2026-09-22 第27名 新收录 · github_search