如何教 AI 助手分析 APK、二进制文件和 JS 而不产生无尽的幻觉
当你启动 Claude Code、Cursor 或其他 AI 助手来逆向一个陌生的二进制文件时,神经网络很快就开始胡编乱造。它会尝试随机的工具,混淆 radare2 的参数,甚至试图通过纯字符串查看来反编译 APK。你花了半小时去修复别人的错误,而不是做实际的工作。
reverse-skill 项目试图通过结构化路由场景来解决这个问题。
这个项目是什么
本质上,reverse-skill 是一个为 AI 助手提供的现成知识库和指令集。该仓库没有给模型完全的自由选择权,而是设置了一个严格的决策树。
输入任务通过 rules/ 中的规则处理后到达主路由器 router.md。AI 收到明确的指令:首先创建研究上下文,检查系统上安装的软件,然后为特定文件类型选择场景。
User task
→ RULES.md
→ MASTER-ROUTING / master-route.ps1 (PRIMARY)
→ case-init / scope.md
→ Scenario skill → tools / MCP / scripts
→ timeline + Evidence→Finding→Path → report
如果工作站上没有 Ghidra 或 Frida,内置索引脚本会立即向助手显示这一点。模型不会尝试调用缺失的二进制文件。
仓库里有什么
作者编译了涵盖近两百个不同任务的指令。整个集合按主题目录组织:
- 移动端逆向在 mobile/android 和 mobile/ios 文件夹中
- 编译文件分析(.exe、.so、.elf),包含 IDA Pro 和 radare2 的指令
- 客户端 JavaScript 反混淆和自定义虚拟机处理
- 网络抓包分析和 REST API
- 通过 ctf 模块组织 CTF 竞赛
每个领域都包含逐步算法。神经网络不会猜测使用哪些控制台命令,而是遵循协议:收集证据、验证假设、写入日志。
如何部署和使用
该项目在底层使用 PowerShell 脚本、Bash shell、Python 和 Markdown 文件。你可以通过几个步骤部署系统:
git clone https://github.com/zhaoxuya520/reverse-skill.git
接下来,运行环境扫描脚本。对于 Linux 和 macOS:
bash skills/scripts/refresh-tool-index.sh
对于 Windows:
powershell -File skills/scripts/refresh-tool-index.ps1
该脚本检查 JDK、Python、Node.js、Frida、jadx,并创建一个本地文件 tools.json。模型可以看到当前系统状态,并了解它实际可以运行哪些工具。
根目录中有 system.prompt 和 user.prompt。当将仓库连接到 AI 客户端时,模型首先读取这些配置文件。它们明确禁止在上下文初始化阶段完成之前执行主动操作。
实际案例分析
考虑一个场景:需要分析 Web 客户端中的加密参数。普通的 AI 聊天会建议一些来自 StackOverflow 的随机函数。连接该包后,助手会打开 web/javascript.md,检查浏览器调试器,并提供顺序分析计划。
第二个案例是 APK 文件研究。模型进入 mobile/android/apk.md。首先调用 jadx 进行 Java 反编译,检测到原生库时切换到 Ghidra,并使用 Frida 进行运行时调用跟踪。结果保存到本地文件夹 output/,该文件夹被排除在 Git 跟踪之外。
值得安装吗
这个项目对那些经常在代码分析或二进制研究中使用 AI 的人很有用。如果你厌倦了不断纠正模型的幻觉并提醒它正确的 CLI 工具参数,这个仓库会为你节省时间。
由于 markdown 文件数量众多,文档看起来有些繁重,但对于 AI 助手来说,硬路由方法效果很好。