REA:让 AI 编程助手替你做逆向工程
本文是对 REA(rea.tools)官网的中文图文总结。截图均为本人实测截取。
你有没有过这样的时刻:想搞清楚一个闭源软件某个功能到底是怎么实现的,却在 Ghidra 面对几万个函数时无从下手?或者接手一个没有源码的 Electron 应用,想知道它某个按钮背后的逻辑?
现在你可以把这类活儿交给 AI 编程助手了——前提是给它装上”眼睛”。这就是 REA(Reverse Engineer Anything) 要解决的问题。

什么是逆向工程?
先补个背景。逆向工程(Reverse Engineering) 是指不依赖源代码,从最终交付的软件产物(二进制、安装包、网页)反推其设计与实现过程的技术。

传统逆向工程的典型场景包括:
- 安全研究:分析恶意软件行为、挖掘闭源软件漏洞;
- 兼容性开发:弄清私有文件格式或网络协议,实现互操作;
- 遗留系统抢救:源码丢失的老系统,只剩可执行文件,要理解它才能重写或迁移;
- 学习与好奇:想知道优秀软件是怎么实现的。
门槛一直很高:汇编语言、反编译器、调试器、协议分析……每一项都需要经年累月的积累。REA 的切入点是——这些”看”的功夫可以工具化,而”想”的部分交给大模型。
核心理念:REA 提供”眼睛”,助手负责”大脑”
REA 的本质是一套 MCP(Model Context Protocol)工具集,装进 Cursor、Claude Code 这类编程助手后,助手就获得了对任意软件制品进行逆向分析的能力:
| 分工 | 谁来做 | 做什么 |
|---|---|---|
| 眼睛 | REA | 加载二进制、反编译、追踪调用、观察运行时 UI 与网络行为 |
| 大脑 | AI 助手 | 提出假设、决定看哪里、解读证据、输出结论 |
这个分工很有意思。逆向工程真正的难点往往不是某个具体工具不会用,而是面对海量未知信息时的搜索与判断——从十万个函数里找到实现那个功能的一个。这恰恰是大模型擅长、人类容易疲劳崩溃的环节。
安装:一行命令
支持 Cursor、Claude Code、Codex CLI 等主流助手,安装只需:
npx rea-agents@latest setup安装完成后,你就可以直接用自然语言向助手下达逆向任务了。
两个官方示例
1. Chrome 小恐龙游戏的速度规则
断网时 Chrome 的恐龙小游戏大家都玩过。REA 官方示例的第一个任务就是:搞清楚游戏速度是如何随时间递增的。

助手通过浏览器观察工具连上游戏页面,追踪游戏循环中的速度变量与计分逻辑,最终还原出速度增长的数学规则——不需要任何游戏源码。这类分析对做游戏外挂检测、Web 应用行为分析都很有参考价值。
2. Windows 计算器的 % 按钮
第二个例子更”生活化”:Windows 计算器上的 % 按钮到底是怎么算的?

很多人以为 50 + 10% 会得到 60.1(先算加法再取百分比),实际上 Windows 计算器给出的是 55——它把 10% 解释为”前一个数的 10%“。助手通过对计算器原生二进制的分析,从反编译代码中找到了这个语义判断的确切实现位置,把这个”民间玄学”变成了有代码依据的结论。
三大分析指南
REA 官网还提供了三类目标的分析指南,覆盖了绝大多数软件形态:

- 原生二进制(Native):macOS / Windows / Linux 的可执行文件、静态库、固件。工具链包括二进制加载、反编译伪代码、调用图、交叉引用、UI 动作追踪等。
- JavaScript 与 Electron:打包后的 Web 应用、Electron 桌面应用、浏览器扩展。可以从 bundle 还原源码结构、追踪模块导入、观察运行时执行。
- 浏览器观察(Browser):对运行中的网页进行截图对比、网络捕获分析、事件监听器检查、执行观察,适合分析 Web 应用的实际行为。
我的看法
REA 最打动我的一点是它没有试图造一个”全自动逆向机器人”,而是老老实实做工具层,把推理决策留给助手。这符合 MCP 生态的设计哲学,也让它天然受益于底层模型的迭代——模型越强,同样的工具能挖得越深。
适用场景判断:
- ✅ 强适用:遗留系统理解、闭源协议/格式分析、安全研究辅助、竞品功能行为分析、教学演示;
- ⚠️ 需谨慎:涉及软件许可协议与版权的场合。逆向本身在很多司法辖区合法,但用途决定合规性,请遵守目标软件的 EULA 与当地法律。
相关链接
- 官网:https://rea.tools/zh-CN/
- 安装:
npx rea-agents@latest setup - 适配助手:Cursor、Claude Code、Codex CLI 等
如果你也有一个”没有源码但必须搞懂”的软件,不妨让装了 REA 的编程助手替你啃一啃。