REA 把逆向工程接进 AI Agent。Builder 可以给它一个本地应用、网页或二进制,让它先找证据、解释行为,再重建一个功能。
下面只讲使用链路。Agent 猜出的代码仍要回到证据和测试。
1
MCP 接入
3
类输入对象
4
重建前提
适合谁
想复刻一个具体功能、研究软件行为或接手陌生代码的 Builder。
开始前
Node.js 22.19+、npm,以及目标软件和必要的分析工具。
先理解 REA 到底做什么
REA 是一个面向 Agent 的 MCP 和 CLI。Agent 通过它检查目标,沿着代码、调用关系或运行时行为继续追踪。
REA 返回发现结果、证据和限制。Agent 再用这些材料解释功能、提出问题,最后写代码并测试。
输入要包含一个可检查的目标、一个具体功能,以及你希望拿到的证据和重建结果。
第 1 步:把 REA 接进你的 Agent
官方推荐用安装向导注册 MCP,并为已选 Agent 写入匹配的工作流指令。运行:
npx rea-agents setup向导会列出可配置的 Agent。选择目标,查看它准备修改的配置,再批准。
完成后重启 Agent。REA 会备份已有配置,具体选择仍由你确认。
第 2 步:用一个小功能开始提问
第一次不要让 Agent 研究整套产品。选一个边界清楚的功能,并在提示词里同时写出四件事:目标、证据、未知项和重建要求。
Use REA to inspect the search feature。。 Show the evidence and list unknowns。
Build a compatible version in my project。 Test it against the same inputs。这句话的重点是“show the evidence”。让 Agent 先告诉你看到了什么、依据是什么、哪些地方仍然未知,再进入实现阶段。这样你可以在错误的目标、错误的版本或错误的权限出现时及时停下。
第 3 步:按目标类型选择入口
● JavaScript 或 Electron 应用:给出已解压的应用目录或 ASAR 文件。
官方示例命令如下。
npx -y rea-agents@latest analyze-javascript-application。/absolute/path/to/app --json。● 原生二进制:需要配置 Hopper、Ghidra 或 IDA 等分析提供方。REA 可以返回伪代码、汇编、字符串、符号、调用关系和引用;先确认本机工具和目标架构,再开始深度分析。
● 网页:REA 关注页面结构、脚本、网络观察和截图。网页分析与本地二进制分析的证据类型不同,提示词里要写清你要研究的是交互、请求链还是页面逻辑。
重点 先按目标类型准备输入,再让 Agent 选择分析路径。把网页截图、二进制文件和运行时观察混成一个问题,会让证据链变得含糊。
第 4 步:把“研究”推进到“重建”
REA 的工作链可以拆成四轮。第一轮定位功能入口;第二轮追踪相关模块、调用关系或运行时行为;第三轮把证据整理成规则和未知项;第四轮在你的项目里做一个独立实现,并用同一组输入进行对照测试。
每轮都要留下产物:目标版本、输入文件、观察到的行为和证据位置。
同时记录未解决问题、实现改动和测试结果。这样才能定位失败发生在哪一轮。
目标功能 → 证据 → 规则。 独立实现 → 对照测试。验证是否成功
验收要看两件事。第一,Agent 能指出证据。
第二,你的实现能在相同输入下复现目标功能,并覆盖已知边界。
页面功能要比较交互和请求结果。二进制功能要比较输入、输出和关键分支。Electron 应用还要检查 IPC 和原生插件边界。
截图呈现画面上的对象和状态。验收时要把“看起来一样”和“行为一致”分开。
FIX三个使用边界
授权:只分析你拥有、获准分析或公开允许研究的目标。
证据:REA 返回的是分析结果和限制,不是对所有内部逻辑的保证。
交付:重建功能仍要处理兼容性、数据来源、测试和许可证。
SOURCES
REA 官方 GitHub README、REA 官方网站。
X 原帖:Roan 对 REA 使用方式的演示性说明,部分效果为作者自述。