REA:基于 AI 代理的逆向工程工具
REA(Reverse Engineering Agent)是一款旨在辅助软件逆向工程的工具。其核心逻辑是通过集成到编码代理中,让 AI 自动检查程序代码、解释功能并协助重建或修改特定特性。

安装与配置
用户可通过以下两种方式将 REA 连接至编码代理:
- 通过编码代理指令:在代理中输入
Install REA and connect it to this coding agent using npx rea-agents@latest setup. Let me see the setup plan, then verify the installation. - 通过终端命令:运行
npx rea-agents@latest setup,随后重启代理。
工作原理与应用场景
逆向工程的目标是理解软件运作机制,以便解释、修改或重建某一功能。传统方式需要人工解码指令、跟踪调用链及重建计算逻辑;而使用 REA,用户只需用自然语言向代理提问,由 REA 提供反编译代码和处理程序信息,再由代理进行解释和重构。
案例一:Windows 计算器百分比逻辑分析
问题背景:为何在 Windows 计算器中,200 + 10% 的结果为 220?
操作指令:“使用 REA 检查 Windows 计算器。为什么 200 加 10% 就是 220?”
分析结果:REA 提取了处理程序的指令、反编译代码及调用关系。代理据此解释:在加法运算后,百分比按钮会计算第一个数字的百分比值。
10% of 200 = 20
200 + 20 = 220
进阶应用:若需重建计算器的百分比按钮以支持乘法和除法,可进一步询问:“使用 REA 检查 Windows 计算器的 % 按钮。恢复 + 和 × 之后的规则,然后构建一个使用两者的小计算器。”
底层逻辑差异:
- 加法/减法场景:取前一个数的百分比。
percent = current * previous / 100 - 乘法/除法场景:将当前数值转换为小数比例。
if (operation == multiply || operation == divide) { percent = current / 100; }
工作流:REA 读取 calc.exe 启动的应用库 -> 返回百分比处理器的代码函数 -> 代理解释分支逻辑并尝试重建。
案例二:Chrome 恐龙游戏速度机制分析
目标:重建具有可调速功能的恐龙游戏。
原理:为了复现游戏的加速效果,需要获取运行时的实际规则:初始速度、增量幅度及上限。
操作指令:“使用 REA 检查这个恐龙游戏。为什么它会变得更快?显示速度规则,然后构建一个可调速的小版本。”
分析结果:代理读取页面脚本中的更新功能和速度设置,发现原始规则为:从 6 开始,每次无碰撞更新时增加 0.001,直到达到最大速度 13。
if (this.currentSpeed < this.config.MAX_SPEED) {
this.currentSpeed += this.config.ACCELERATION;
}
应用:代理利用恢复的规则,在新游戏中添加速度滑块控制,允许用户自定义加速度参数。
其他应用场景
REA 适用于多种逆向工程任务,包括但不限于:
- 网站克隆:例如,“使用 REA 检查 https://rea.tools/。为我复制这个网站。”
- 游戏逻辑重建:例如,“使用 REA 从它的可执行文件重建这个游戏。在 C 语言中恢复游戏逻辑并对其进行测试。”(参考 DX-Ball 案例研究)
支持的分析目标类型
根据目标不同,REA 提供不同的分析指南:
原生二进制文件 (Native binaries)
用于检查可执行文件和库中的函数、字符串、引用及调用关系。
JavaScript 与 Electron 应用
用于映射模块、路由、IPC 通信及本地依赖项,支持从应用程序文件夹或 ASAR 归档中提取信息。
浏览器与运行时活动
用于捕获选定的浏览器或进程活动,并在多次运行之间比较结果。





