
Description
#APK逆向 #逆向工程 #AgentSkill #Python #ClaudeCode #Codex #Windows #macOS #Linux
apk-reverse 是一套专门面向 Android APK 逆向分析的 Agent Skill,它并不是传统意义上的图形化反编译软件,而更像是一套给 Claude Code、Codex 等 AI 编程 Agent 使用的「APK 逆向工程工作流知识库 + 自动化脚本工具箱」。
简单来说,当你需要分析 APK、判断代码究竟运行在哪一层、排查加固或签名问题、处理 DEX / SO、重新打包 APK,或者分析客户端与服务器之间的交互时,可以让 Agent 加载 apk-reverse,然后按照项目已经整理好的流程逐步执行,而不是每次都从零开始摸索。
项目采用 Python 编写,脚本要求 Python 3.9+,整体设计兼顾 Windows、macOS 和 Linux。它主要面向 Android APK,但实际运行环境通常还是电脑加 Android 真机或模拟器。
它比较有特点的一点,是作者没有把它单纯做成一本「APK 逆向教程」,而是设计成了一套具有明确判断流程的 Skill。里面加入了 R1-R4 覆盖规则、G1-G4 检查 Gate、已知故障症状索引以及 Two-Strike 两次失败停止规则,让 AI Agent 在遇到问题时优先参考已经验证过的失败经验,而不是不停尝试类似方案。
Android APK 逆向分析
可以辅助分析 APK 的 Manifest、DEX、Java/Kotlin 代码、Native SO 库以及应用运行时行为,并根据实际目标判断应该从 Java、DEX、Native 还是服务器接口层入手。
DEX 定位与外科式修改
支持围绕 smali、baksmali、dexlib2 等工具进行 DEX 分析与修改,并提供针对字节级 Patch、方法修改、Verifier 限制等问题的参考流程。相比直接大范围重构代码,它更强调 尽量选择风险最低的 Patch 层。
APK 解包、重打包与签名
覆盖 APK 解包、修改、重新打包、zipalign 以及 apksigner 签名等完整流程,同时专门处理一种很容易误判的问题:APK 看起来能够正常安装和启动,但服务器请求全部失败,因为应用可能利用自己的签名证书参与请求密钥计算。
加壳与加固应用分析
针对常见加固、壳、Dex VMP、Java2C、Native 自毁检测以及自定义 Linker 等复杂情况提供独立分析路径,可以帮助判断真正执行的代码在哪里,而不是盲目寻找不存在的解密 DEX。
Native / SO 分析
除了 Java 与 DEX,项目还涉及 JNI、SO 加载、Native 防篡改、主动崩溃、OLLVM 控制流平坦化等情况,并强调确认 设备真正加载并执行的是哪个 ABI 和哪个 Library。
Frida 动态分析
支持将 Frida 用于运行时 Hook、函数调用分析和动态验证,并包含 Frida Server 版本匹配、环境检测以及应用主动反分析情况下的处理经验。
Flutter、React Native、Unity 分析
对于并非传统 Java UI 的 Android App,apk-reverse 也提供对应路线,包括 Flutter / Dart AOT、React Native 和 Unity,帮助判断实际业务逻辑位于哪一层。
服务端与客户端权限判断
它不会默认认为所有功能都能通过修改 APK 实现,而是先判断限制究竟来自客户端还是服务器。例如会员权限、账号资源、登录状态或者 Paywall 如果完全由服务器控制,那么继续修改客户端往往没有意义。
广告、弹窗和远程配置分析
项目包含广告分类、启动页、弹窗、服务器下发 UI、远程配置以及热更新等分析内容,重点不是单纯删除某段代码,而是找到真正控制显示行为的判断逻辑。
强制升级与版本检查分析
可以帮助定位 App 的版本检查、强制更新弹窗、自更新安装器以及远程配置渠道,从而分析修改后的应用为什么过一段时间又恢复原来的限制。
Split APK / App Bundle 处理
面对从 Google Play 等环境获取的 Split APK,也提供多 APK 提取、统一签名、pm install-multiple 以及在条件允许时合并为独立 APK 的处理思路。
自动检查开发环境
项目自带 doctor.py,可以先扫描本机逆向环境,判断 Python、ADB、JDK、Android SDK、apksigner、Frida 等工具是否存在。即使工具没有加入 PATH,也可以通过 APKREV_TOOLS 指定工具目录。
推荐配套工具
项目比较推荐 droidasc,用于整个 APK 的快速交叉引用搜索;另外还支持 ddc、baksmali / smali、dexlib2、JDK、Android SDK Build Tools、ADB、Frida 和 root Android 设备或模拟器等工具。
适合作为 AI Agent Skill 使用
安装之后,Claude Code、Codex 或其他支持 Agent Skills 格式的工具可以根据任务加载 SKILL.md,再按实际问题按需读取 references 中的资料,而不是一次性把几十份逆向资料全部塞进上下文。
明确的验证与停止机制
apk-reverse 比较强调「证据」。同一种失败连续出现两次时,不鼓励继续更换参数硬试,而应该重新检查判断模型。项目也给「完成」设置了明确标准,能够 Build 成功并不等于逆向修改已经成功,仍需要安装、启动、功能和运行时验证。
跨平台运行
仓库中的 Python 脚本目标是兼容 Windows、macOS 和 Linux,并不会强制要求 Unix Shell。具体逆向能力则取决于电脑上安装的 Android SDK、JDK、ADB、Frida 等配套工具。
需要注意的是,apk-reverse 面向的是安全研究和逆向工程场景。项目作者明确要求只分析自己拥有、明确获得授权的应用、公开 CTF / Challenge 或自己控制的测试环境,不建议将其用于未经授权的软件分析。
GitHub 项目地址:
https://github.com/newliver666/apk-reverse
它属于 Agent Skills 项目,因此通常不需要下载传统安装包,可以直接通过 skills CLI 安装:
`npx skills add newliver666/apk-reverse`
只安装 apk-reverse Skill:
`npx skills add newliver666/apk-reverse --skill apk-reverse -y`
如果只想临时使用、不安装,也可以运行:
`npx skills use newliver666/apk-reverse@apk-reverse`
项目采用 MIT License 开源,目前主要代码语言为 Python。
apk-reverse 是一套专门面向 Android APK 逆向分析的 Agent Skill,它并不是传统意义上的图形化反编译软件,而更像是一套给 Claude Code、Codex 等 AI 编程 Agent 使用的「APK 逆向工程工作流知识库 + 自动化脚本工具箱」。
简单来说,当你需要分析 APK、判断代码究竟运行在哪一层、排查加固或签名问题、处理 DEX / SO、重新打包 APK,或者分析客户端与服务器之间的交互时,可以让 Agent 加载 apk-reverse,然后按照项目已经整理好的流程逐步执行,而不是每次都从零开始摸索。
项目采用 Python 编写,脚本要求 Python 3.9+,整体设计兼顾 Windows、macOS 和 Linux。它主要面向 Android APK,但实际运行环境通常还是电脑加 Android 真机或模拟器。
它比较有特点的一点,是作者没有把它单纯做成一本「APK 逆向教程」,而是设计成了一套具有明确判断流程的 Skill。里面加入了 R1-R4 覆盖规则、G1-G4 检查 Gate、已知故障症状索引以及 Two-Strike 两次失败停止规则,让 AI Agent 在遇到问题时优先参考已经验证过的失败经验,而不是不停尝试类似方案。
软件功能
Android APK 逆向分析
可以辅助分析 APK 的 Manifest、DEX、Java/Kotlin 代码、Native SO 库以及应用运行时行为,并根据实际目标判断应该从 Java、DEX、Native 还是服务器接口层入手。
DEX 定位与外科式修改
支持围绕 smali、baksmali、dexlib2 等工具进行 DEX 分析与修改,并提供针对字节级 Patch、方法修改、Verifier 限制等问题的参考流程。相比直接大范围重构代码,它更强调 尽量选择风险最低的 Patch 层。
APK 解包、重打包与签名
覆盖 APK 解包、修改、重新打包、zipalign 以及 apksigner 签名等完整流程,同时专门处理一种很容易误判的问题:APK 看起来能够正常安装和启动,但服务器请求全部失败,因为应用可能利用自己的签名证书参与请求密钥计算。
加壳与加固应用分析
针对常见加固、壳、Dex VMP、Java2C、Native 自毁检测以及自定义 Linker 等复杂情况提供独立分析路径,可以帮助判断真正执行的代码在哪里,而不是盲目寻找不存在的解密 DEX。
Native / SO 分析
除了 Java 与 DEX,项目还涉及 JNI、SO 加载、Native 防篡改、主动崩溃、OLLVM 控制流平坦化等情况,并强调确认 设备真正加载并执行的是哪个 ABI 和哪个 Library。
Frida 动态分析
支持将 Frida 用于运行时 Hook、函数调用分析和动态验证,并包含 Frida Server 版本匹配、环境检测以及应用主动反分析情况下的处理经验。
Flutter、React Native、Unity 分析
对于并非传统 Java UI 的 Android App,apk-reverse 也提供对应路线,包括 Flutter / Dart AOT、React Native 和 Unity,帮助判断实际业务逻辑位于哪一层。
服务端与客户端权限判断
它不会默认认为所有功能都能通过修改 APK 实现,而是先判断限制究竟来自客户端还是服务器。例如会员权限、账号资源、登录状态或者 Paywall 如果完全由服务器控制,那么继续修改客户端往往没有意义。
广告、弹窗和远程配置分析
项目包含广告分类、启动页、弹窗、服务器下发 UI、远程配置以及热更新等分析内容,重点不是单纯删除某段代码,而是找到真正控制显示行为的判断逻辑。
强制升级与版本检查分析
可以帮助定位 App 的版本检查、强制更新弹窗、自更新安装器以及远程配置渠道,从而分析修改后的应用为什么过一段时间又恢复原来的限制。
Split APK / App Bundle 处理
面对从 Google Play 等环境获取的 Split APK,也提供多 APK 提取、统一签名、pm install-multiple 以及在条件允许时合并为独立 APK 的处理思路。
自动检查开发环境
项目自带 doctor.py,可以先扫描本机逆向环境,判断 Python、ADB、JDK、Android SDK、apksigner、Frida 等工具是否存在。即使工具没有加入 PATH,也可以通过 APKREV_TOOLS 指定工具目录。
推荐配套工具
项目比较推荐 droidasc,用于整个 APK 的快速交叉引用搜索;另外还支持 ddc、baksmali / smali、dexlib2、JDK、Android SDK Build Tools、ADB、Frida 和 root Android 设备或模拟器等工具。
适合作为 AI Agent Skill 使用
安装之后,Claude Code、Codex 或其他支持 Agent Skills 格式的工具可以根据任务加载 SKILL.md,再按实际问题按需读取 references 中的资料,而不是一次性把几十份逆向资料全部塞进上下文。
明确的验证与停止机制
apk-reverse 比较强调「证据」。同一种失败连续出现两次时,不鼓励继续更换参数硬试,而应该重新检查判断模型。项目也给「完成」设置了明确标准,能够 Build 成功并不等于逆向修改已经成功,仍需要安装、启动、功能和运行时验证。
跨平台运行
仓库中的 Python 脚本目标是兼容 Windows、macOS 和 Linux,并不会强制要求 Unix Shell。具体逆向能力则取决于电脑上安装的 Android SDK、JDK、ADB、Frida 等配套工具。
需要注意的是,apk-reverse 面向的是安全研究和逆向工程场景。项目作者明确要求只分析自己拥有、明确获得授权的应用、公开 CTF / Challenge 或自己控制的测试环境,不建议将其用于未经授权的软件分析。
下载地址
GitHub 项目地址:
https://github.com/newliver666/apk-reverse
它属于 Agent Skills 项目,因此通常不需要下载传统安装包,可以直接通过 skills CLI 安装:
`npx skills add newliver666/apk-reverse`
只安装 apk-reverse Skill:
`npx skills add newliver666/apk-reverse --skill apk-reverse -y`
如果只想临时使用、不安装,也可以运行:
`npx skills use newliver666/apk-reverse@apk-reverse`
项目采用 MIT License 开源,目前主要代码语言为 Python。
