让 AI 编码助手读懂二进制:reverse-engineer-anything 安装与验证完全教程
【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea
产品经理丢给你一个 APK,只说了一句:"竞品这个功能是怎么做的?"没有源码、没有文档,只有发布产物。这种场景正是 REA(reverse-engineer-anything)的主场:它是一个开源逆向工程技能,把反编译、交叉引用追踪、版本行为对比这一整套调查流程接到 Claude Code、Codex、Cursor 等 AI 编码助手里,由助手自己选工具、自己往下追,最后给出带证据链的结论。本文带你从一条安装命令走到装完即验证,全程可审、可回退。
适用边界:先分清该用与不该用
一句话结论:只有"手里只剩产物"时才启动 REA,源码在手时别碰它。
技能文件 SKILL.md 里写死了这条路由原则。判断标准很简单:
- ✅该用:目标是发布产物且没有一行源码——原生二进制、打包应用(ASAR / Electron)、Android APK、.NET 程序集、固件镜像,或你需要运行时证据、要对比两个版本的行为差异。
- ❌不该用:目标是完整源码仓库。架构梳理、代码走读用普通仓库工具就够了,启动逆向流程反而是绕路。
装好之后,助手相当于一本能自动选路的调查手册。你只描述目标,路由规则替它决定调哪个工具:
| 目标类型 | 走哪个工具 | 产出 |
|---|---|---|
| ASAR / Electron / JavaScript 应用 | analyze_javascript_application | 模块图 + 行为证据 |
| 原生二进制 | open_binary+ Hopper 或 Ghidra 引擎 | 伪代码、字符串、调用链与交叉引用 |
| Android APK | inspect_android_package | 包结构,可下钻到 smali 与资源 |
它不只停在"这个功能怎么工作",还会沿调用者与交叉引用一路追到底,把结论转成你能落地的实现方案。
动手前的唯一前置检查:Node.js 版本
跑任何安装命令前,先确认运行时:
node -v当前要求是Node.js 22.x(≥22.23.4)、24.x(≥24.22.1)或 26.12.1+,并且需要 npm。23、25 版本、更早的 26.x 以及所有预发布版不在支持范围,安装文档里有完整说明。
两点安心保证:REA 只用你已有的运行时,不会顺手升级 Node.js、npm 或 Homebrew;写入操作全部走备份 + 原子写入,失败自动回滚。
另外如果你在 Linux 上分析原生目标或静态 JavaScript,REA 需要PATH里有 procps 兼容的ps做进程归属检查,装好发行版自带的procps包即可。
最短安装路径:按你的现状选命令
不用背流程,对号入座:
| 你的现状 | 该跑的命令 | 它会做什么 |
|---|---|---|
| 第一次接触,MCP 还没配 | npx rea-agents setup | 技能文件 + MCP 注册一次配齐 |
| MCP 已配好,只想刷新技能说明书 | npx skills add morluto/rea --skill reverse-engineer-anything | 只写技能指令,不碰注册和引擎 |
| 装完想确认环境没断链 | rea doctor --client codex --json | 只读体检,输出结构化 JSON |
路径一:首次完整安装
npx rea-agents setup这条命令是引导式的,每一步都留给你确认权:
- 勾选客户端:从列表里选择要接入的助手,如 Claude Code(
claude_code)、Codex(codex)、Cursor(cursor)、Gemini CLI、Windsurf、OpenCode、VS Code 等,完整 client ID 对照见安装文档的 Supported agents 一节。 - 审变更计划:REA 先逐项列出要改的配置文件、备份位置、技能的落盘路径,你确认后才真正写文件。中途按 Ctrl-C 不会留下半写状态。
- (可选)接分析引擎:分析原生二进制需要 Hopper 或 Ghidra。setup 可以代装 Hopper,但没有你的明确点头,它绝不自己装;已有 Ghidra 则记录已验证的安装路径。
- 重启客户端:按完成提示重启对应助手,注册即刻生效。
全部顺利的话,收尾会给你一份汇总:哪些客户端、哪些分析工具、哪些工作流文件通过了最终检查。
路径二:只刷新技能指令
npx skills add morluto/rea --skill reverse-engineer-anything它只写入技能说明书和 7 份按需加载的参考指南——references 目录覆盖原生二进制与产物、JavaScript 应用、Android 应用、证据工作流、运行时观察、连接与恢复、环境等主题。**不注册 MCP、不装引擎、也不会给正在运行的会话添加工具。**已注册好的工具可以立刻用;若发现某工具缺席,走路径三的 doctor 查对应客户端的注册情况。
路径三:只读体检
rea doctor --client codex --json把codex换成你的 client ID,输出结构化 JSON,逐项列出依赖与注册状态。rea doctor严格只读,不改任何配置。只关心技能文件本身时,换个视角查:
rea doctor --skill --json装完立刻验证:先确认工具真出现,再抛第一个问题
doctor 通过、客户端重启之后,先做一步省不掉的人工确认:直接问助手"你有哪些 REA 工具"。能看到open_binary、analyze_javascript_application这类工具名,才算注册真正生效。原因很直接——doctor 检查的是文件和前置条件,证明不了当前会话已连上 MCP。
然后就可以抛第一个真实问题,比如:
解释目标 App 的搜索功能是怎么实现的,展示证据,然后在我的项目里实现类似功能。助手按路由规则自己选工具往下追,你不需要记任何命令。
如果 MCP 没连上、或客户端不支持,还有一条不依赖任何逆向引擎的 CLI 回退通道——静态 JavaScript 分析直接走命令行,把完整 Evidence 记录打到终端:
npx -y rea-agents@latest analyze-javascript-application /绝对路径/应用目录 --json跑完直接拿到 Evidence 记录、模块图(含 imports 与 Electron 边界)和局限说明,可照常用于分析。但记住它的定位:这是回退通道,不代表 MCP 已经配好。
日常维护与排障:更新、卸载和排查顺序
两条日常命令,各管一摊:
- 更新:
rea update——只更新当前 CLI 所属的那个安装(npm 或 Bun 全局),建议隔三差五跑一次。 - 卸载:
rea uninstall——只移除 REA 自己写入的注册项和技能文件,不碰你本地的 Hopper、Node.js、npm;加--purge-data会连 REA 的缓存和状态路径一起清掉。
真卡住时,按这个顺序排,别一上来就重装:
- 先跑
rea doctor --json(全量)或rea doctor --client <id> --json(单客户端),从结构化报告里定位断在哪一环——缺 provider、注册过期,还是会话没重连; - 只查某个引擎时用
rea doctor --provider ghidra --json(或hopper、ida、kuna); - 需要修配置时,先跑只读计划
rea setup --client codex --dry-run --json,看清它提议改哪些路径再批准; - 更细的手动注册与故障排查,看安装文档;MCP 契约与工具行为见 MCP contracts;中文语境可对照README 中文版。
装完这一套,你的 AI 编码助手就多了一项硬能力:顺着证据链读懂二进制、追调用、重建行为,从搞懂一个功能到把它搬进自己的项目,全程在本地完成。
【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考