ARTICLE · 1189305
看上别家 App 的功能?让 Agent 借 REA 把实现“问”出来

你看到一个笔记应用的搜索很顺手、一个 Electron 软件的剪贴板很聪明、一个老游戏的角度算法很刁钻,第一反应通常是:
“这玩意儿到底怎么写的?”
没源码的时候,传统做法是打开 Ghidra、IDA、Hopper,和汇编死磕。现在有个更省力的思路:把“调查任务”交给 AI Agent,让 REA(Reverse Engineer Anything) 当它的显微镜。

REA 不是新造的反编译器,而是一个 MCP 服务 + CLI 工具:它把 Agent 和本机已有的逆向/分析工具连起来,让 Claude Code、Cursor、Codex、Gemini CLI、Grok Build 这些智能体去“翻文件、追调用、拿证据”,最后用人话解释,还能在你的项目里复刻类似功能。
一、快速开始:一条命令接好 Agent
环境先备齐:Node.js 22.19+、24.11+ 或 26+,以及 npm。
终端里跑:
npx rea-agents setup
它会让你选正在用的 Agent,展示“准备改哪些配置”,你批准后会:
注册 REA 的 MCP 服务。 安装配套的工作流 / skill 指引。 备份原有 Agent 配置。 改完重启 Agent 即可。
不想走 Agent,也可以纯终端用:
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json
常用就全局装:
npm install --global rea-agentsrea update
REA 发版很勤,遇到怪问题,先更新再报 issue。

二、REA 的工作原理:Agent 动脑,REA 动手
REA 的定位很克制:
智能体负责提问、推理、写代码;REA 负责调工具、查本机目标、把发现整理成“带证据”的结果。
流程是闭环的:
你问:“Notes 的搜索是怎么做的?把证据给我。” Agent 通过 MCP 调 REA。 REA 查模块、函数、字符串、IPC、伪代码、汇编。 返回的不是“应该是这样”,而是“我在哪看到的、依据是什么、哪里还不确定”。 Agent 继续追问,或开始在你的仓库里写实现、跑测试。
最关键的是 Evidence(证据)。
REA 不装神弄鬼说“我已还原源码”,它会把观察、推断、未知项分开。你拿到的是可复核的调研报告,不是 AI 幻觉小作文。
三、可以分析什么?
- JavaScript / Electron:模块、import、preload、IPC 边界、富文本剪贴板数据→ 不需要 Ghidra / IDA / Hopper,门槛最低。
- .NET 程序集:静态读元数据、CIL、依赖,不运行目标。
- 原生二进制(exe / dylib / so / ELF / Mach-O):伪代码、汇编、符号、交叉引用→ 需要 Hopper、Ghidra 或 IDA;setup 可在你同意后装 Hopper。
- 网站:页面结构、脚本、网络行为、运行时观察。
- APK / 固件 / WASM / EVM / 进程行为等:由对应工具和指南支撑。
一句话:JS 和 .NET 能直接起步;原生二进制才需要专业反编译引擎。
四、三个很“硬”的官方案例
1. Notion 剪贴板桥
从渲染进程的剪贴板 API 出发,沿 preload 和 IPC 追到主进程,看清富格式剪贴板数据怎么流转。
2. DX-Ball 声音声像计算
沿声音调用追到“按位置算声像”的辅助函数,把不完整伪代码重建成 C。
重建结果通过 3205 个原始 x86 测试用例,并复现编译后函数的 全部 63 个字节。
3. PC-98 老游戏弹幕角度
看 16 位指令,恢复固定角度和瞄准角度计算,再把重建的 C++ 和当年编译器输出对照。
这三个案例的共同点:
不是“AI 编代码”,而是在机器码 / 老指令上做考古,最后落回可验证的实现。

五、常见问题
Q:哪些 Agent 能用?
任何支持本地 MCP 的 Agent。Claude Code、Codex、Cursor、Gemini CLI、Grok Build 有 setup 支持;别的客户端手动注册 MCP 也行。
Q:必须装 IDA 吗?
不是。JS / Electron / .NET 静态分析不需要原生引擎;原生二进制才要 Hopper / Ghidra / IDA 三选一。
Q:分析会上传吗?
分析在本机跑;但工具结果会进你选用的模型服务商,隐私政策各自看清。
Q:能还原原始源码吗?
不能保证。REA 给的是证据、结构和可复刻思路,不是把闭源项目变回原仓。
Q:合法边界?
只分析你拥有或获授权检查的软件。别拿它碰没权限的商业闭源程序。
六、GNU objdump 和 Rizin 在哪起作用?
很多人只记得 Hopper / Ghidra / IDA,但 REA 也支持调用方自备的 GNU objdump 和 Rizin 做离线原生检查。
- GNU objdump:看段、符号、反汇编、重定位信息,适合快速瞄二进制结构。
- Rizin / radare2 系:更偏交互式逆向、脚本化分析、交叉引用和函数图。
要注意:
REA 不会帮你安装或更新 objdump / Rizin,得自己先在系统里准备好。它们适合“我不想开大型 GUI 引擎,但也想让 Agent 看一眼原生指令”的场景。
对大二进制,还可以加:
REA_GHIDRA_STARTUP_TIMEOUT_MS=120000REA_HOPPER_STARTUP_TIMEOUT_MS=120000
别让引擎没启动完就被超时打断。
七、文档与进阶
官方站点:rea.tools
仓库:github.com/morluto/rea
npm:rea-agents
值得重点看的文档:
安装与设置:MCP 注册、手动接入、skill 安装。 CLI 与 Evidence 指南:每条命令返回什么、证据格式是什么。 提供方设置:Hopper / Ghidra / IDA / objdump / Rizin 怎么配。 各运行时指南:静态检查、运行时捕获、进程权限边界。 GitHub Star 达到 250,000 个
八、最后一句话
REA 最迷人的地方,不是“逆向一切”这种口号,而是它把逆向从专家黑话变成了Agent 工作流:
看到喜欢的功能 → 让 Agent 查到二进制层 → 拿到证据 → 在自己项目里重做一遍。
工具越锋利,手越要稳。
会用 REA 的人,不是在“破解软件”,而是在向优秀实现学习。















































































