REA 逆向工程安装教程:3 条命令让 AI 助手上手二进制分析
【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea
把一份没有源码的目标——打包好的 Electron 应用、剥离符号的原生可执行文件、一个 Android APK——丢给 AI 编码助手,如果它身上没有逆向工程能力,它只能靠猜行为、说不出证据,给你的每个回答都靠不住。REA(npm 包名rea-agents)就是补这块的开源逆向工程 MCP 工具集:一条setup把它接进 Claude Code、Codex、Cursor 这类助手,助手就能自己选本地的反编译引擎和静态分析工具去读目标。本文按 REA 安装教程的节奏,用 3 条命令走完全链路。
不装它时,助手会卡在哪
先说结论:卡在三类地方——
- 读不了原生二进制:伪代码、字符串、交叉引用,助手一个都拿不到,只能描述"它大概会做什么";
- 拆不开打包应用:.asar、Electron 目录、.NET 程序集,没有工具链时它连模块图都画不出来;
- 结论没有证据:没有工具支撑的分析,助手倾向于用流畅的话术填空白,你分不清哪些是事实。
装上 REA 后,助手拿到的是两样东西:一组 MCP 工具(open_binary、analyze_javascript_application、inspect_android_package等),和一份写有路由规则的逆向工程技能说明书(SKILL.md)。你描述目标,它自己决定走哪条分析路线,沿调用者和引用往下追,最后给出的结论带证据和局限说明。
边界说死两条:
- 适用:只有发布产物、没有一行源码的场景——原生二进制、打包应用、固件、APK;
- 不适用:你手里已经是完整源码仓库时,直接用普通仓库工具读代码,别启动逆向流程。
另外 REA 只使用你已有的运行时,不会替你升级 Node.js、npm 或 Homebrew。
装前自检:Node 版本与引擎要求
先跑一句确认版本:
node -v支持范围(以仓库package.json的engines声明为准):
| 状态 | Node.js 版本 |
|---|---|
| 支持 | 22.x ≥ 22.23.4、24.x ≥ 24.22.1、26.x ≥ 26.12.1 |
| 不支持 | 23、25、更早的 26.x、预发布版 |
再按目标类型对一下引擎准备:
| 你的目标 | 需要准备什么 |
|---|---|
| Electron / 纯 JavaScript 应用 | 无额外要求,静态分析即可 |
| 原生二进制 | Hopper、Ghidra、IDA、Kuna 之一 |
| Android APK | headless JADX + 完整 JDK |
Linux 用户多一条前置:Ghidra、JADX、固件工具和静态 JavaScript 分析都需要PATH上有 procps 兼容的ps命令做进程归属检查,缺了会在启动子进程前直接拒绝。
接入步骤:三条路径按现状取一条
路径一:全新安装,一条 setup 配齐
npx rea-agents setup这条命令是引导式的,分四步,每步都可审:
- 选客户端:从列表勾选要接入的助手,ID 如
claude_code、codex、cursor、gemini_cli、windsurf、opencode、vscode,完整对照见安装文档; - 审变更计划:逐项列出将改的客户端配置文件、备份位置、技能落盘路径,你批准后才写盘;
- 写文件:已存在的配置先做逐字节备份再原子写入,写失败自动回滚;中途取消会以
cancelled状态干净退出(exit code 0),不留半写状态; - 接引擎(可选):需要分析原生二进制时,setup 可以代装 Hopper,但必须等你明确批准,它不会自己装。
跑完按提示重启客户端,注册即刻生效。技能文件会写进所选客户端的个人技能目录,里面含 7 份按需加载的参考指南,覆盖原生二进制、JavaScript 应用、运行时观察等主题。
路径二:只刷新技能说明书
npx skills add morluto/rea --skill reverse-engineer-anything只写技能指令和捆绑 references,不注册 MCP、不装引擎、不给正在运行的会话添加工具。已注册的工具立刻可用;如果发现有工具缺席,回到路径三用 doctor 查对应客户端的注册情况。
路径三:只体检,不碰任何文件
rea doctor --client codex --jsonrea doctor严格只读。把codex换成你的客户端 ID;只想确认引擎时用rea doctor --provider ghidra --json(也支持hopper、ida、kuna);只关心技能文件本身时用rea doctor --skill --json。
首跑验收:先确认工具在会话里,再抛第一个问题
先记住一条判断:体检通过不等于会话已连上。doctor 查的是文件、注册和前置条件,证明不了当前这个会话真的挂上了 MCP 服务,所以重启客户端后,人工确认这一步省不掉。
一句话验证:直接问助手"列出你当前已连接的 REA MCP 工具"。回答里能看到open_binary、analyze_javascript_application这类工具名,说明注册生效;列不出来,说明断在注册或会话重连环节,去排障一节处理。
确认工具在位后,抛第一个真实任务(独立 text 块,直接复制):
看看目标 App 的设置页面,解释它的主题切换功能是怎么实现的, 给我证据链,然后在我的项目里实现一个类似的功能。助手会按路由规则自己选工具往下追,你不需要记任何命令。如果目标是原生二进制且会话里有 Hopper 或 Ghidra 引擎,助手会通过分析桥接脚本驱动引擎完成反编译与引用追踪,过程长这样:
长期维护:更新与卸载各一条命令
- 更新:
rea update——只更新当前 CLI 所属的那个 npm 或 Bun 全局安装,不碰源码检出和 npx 缓存;跑完会打印一条用于刷新注册与技能的 setup 命令,照做再重启客户端。一直用npx的话,刷新注册就重跑npx rea-agents@latest setup; - 卸载:
rea uninstall——只移除 REA 自己写入的注册项和技能文件;加--purge-data会连~/.rea下的缓存与状态路径一起清掉。不碰你本地的 Hopper、Node.js、Evidence 文件、抓包记录、无关技能和其他 MCP 服务器。
排障顺序与回退通道
真卡住时按这个顺序来,别一上来就重装:
- 全量
rea doctor --json,或单客户端rea doctor --client codex --json——从结构化报告里定位是缺 provider、注册过期,还是技能文件异常; - 单引擎问题用
rea doctor --provider ghidra --json缩小范围; - 需要修配置时,先跑只读计划
rea setup --client codex --dry-run --json,看清它提议改哪些路径,确认后再批准; - 注册完整但会话里没有工具:重启客户端即可。重装只允许在doctor 报告技能路径为
unmanaged或配置文件损坏、且修复计划无法覆盖时才做。
还有一条不依赖 MCP、不需要任何逆向引擎的回退通道,静态 JavaScript 分析直接走命令行,完整 Evidence 记录打到终端:
npx -y rea-agents@latest analyze-javascript-application /绝对路径/应用目录 --json局限要说清:它只覆盖 JS/Electron 目标,不能分析原生二进制;跑通它也不代表MCP 已配好,装好的环境该修还是要修。
想深入再读
- 安装细节、手动 MCP 注册、完整客户端列表:docs/installation.md
- MCP 契约与工具目录:docs/mcp-contracts.md
- CLI 用法与 Evidence 工作流:docs/cli.md
- 中文 README:docs/readme/README_zh.md
装上这一套之后,你再把没有源码的发布产物丢给助手,它不再需要猜——自己打开目标、顺着证据链追,最后才给你结论。
【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址: https://gitcode.com/GitHub_Trending/rea2/rea
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考