ARTICLE · 1310670
REA:让 AI Agent 逆向任何软件——从应用行为到原生二进制
看中某个 App 的功能?让 Agent 反编译它、讲清楚原理、给出证据,然后在同一个会话里给自己的项目写一个实现。过去这需要逆向工程师手动跑 Ghidra、导出伪代码、粘进聊天窗口,每个追问再重复一遍。REA 把这条苦活变成了自然语言。
这篇文章拆解它是什么、怎么做到的,以及为什么它连法律边界都设计得比大多数工具克制。
先理解痛点。让 AI 分析一个没有源码的软件,传统流程是:逆向工程师自己选工具(Ghidra / Hopper / IDA)、跑反编译、导出伪代码或字符串表、粘进 AI 对话框,然后提问。每个追问都可能要回头再导一份别的材料——某个函数的交叉引用、某段字符串的解码结果。
这个流程里,人类是 AI 与工具之间的搬运工:选工具、学 API、搬证据、决定下一步看哪,每一步都是手动。上下文在"工具输出"和"对话框"之间来回倒手,倒一次丢一次结构。REA 的定位就是消灭这个搬运层——它自己就是 CLI + MCP server,AI Agent 直接调用它的 41 个原生分析工具和 14 个引导工作流,选哪看哪由 Agent 决定,结构化结果直接进推理。
REA 的核心方法论是三步:
Decompile(还原):把二进制恢复成可读的代码、提取字符串和命名线索,相当于把天书译成残章。
Understand(理解):跨函数追踪数据流和控制流,直到能解释"这个功能是怎么实现的"。这是最重的一步——逆向的真正难度从来不是反编译,是从上千个函数里定位到关键的那几个,并说清楚它们怎么协作。
Recompile(重实现):把理解转化成本技术栈的代码。注意项目方的克制声明:不声称恢复原始源码,也不自动克隆应用——产出是"用你的技术栈重新实现等价功能",证据链留痕。
每个结论都附带 Evidence 证据包,可导入导出——这不是锦上添花,是逆向工作的基本职业素养:结论必须可复核,否则和猜没区别。
REA 的能力半径由三部分拼成:
MCP 接入面:Claude Code、Cursor、Codex、Gemini CLI、Windsurf、Devin 等 12 个主流 Agent 都能挂。对用户的意义是"不换工具,加个MCP"。
深度引擎:自带 Ghidra 12.1.4(NSA 出品,开源逆向的默认答案),支持 Hopper(可代装、有 demo 模式),IDA 只读兼容。不同引擎的覆盖场景互补——Ghidra 面广,Hopper 在 macOS 二进制上强,IDA 是行业事实标准。
目标类型扩展:4.1 版(10 月 6 日)新增 Android APK(headless JADX)和固件(Binwalk / Unblob)分析。从桌面软件到移动 App 到 IoT 固件,覆盖面已经是全平台级。
隐私设计值得单独说:分析全部在本机完成,App 不上传任何云服务。逆向分析的目标软件往往涉及未公开产品,全程本地不只是隐私问题,也是商业保密问题。
官方给的三个案例比任何跑分都有说服力:
DX-Ball 声音平移算法重建:这个 1996 年的打砖块游戏,声音定位算法藏在编译后的二进制里。REA 追踪到相关函数后重建实现——3205 个原始 x86 测试用例全部通过,63 字节的编译函数被逐字节复现。这是"Understand"能达到的最硬指标:不是"讲了个大概",是逐字节等价。
Notion Electron 剪贴板桥追踪:Electron 应用的剪贴板桥是 Web 层与原生层通信的典型结构,REA 追踪到了桥接实现——对安全研究来说,这类边界正是漏洞高发区。
TH04 弹幕角度计算恢复:东方 Project 系列的 DOS 游戏,弹幕的角度计算逻辑被逆向恢复。老游戏是逆向社区的经典训练场,REA 把这类工作变成了"会话级"任务。
三个案例横跨游戏、生产力工具、古老平台,共同点是:都没有源码,都给出了可验证的结论。
逆向工程的法律地位因司法辖区而异,项目方在美国法框架下划的线很清楚,值得所有使用者逐条理解:
- DMCA 与互操作性
:出于互操作目的的逆向在美国判例中是既定 fair use(合理使用)——这是 REA 全部合法性的基石场景; - EULA 禁止条款
:用户协议里"不得逆向"的条款是合同问题,违反它可能是违约,但不自动构成侵权——合同责任和著作权责任是两条线; - Section 1201 反规避条款
:这是真红线。绕过技术保护措施(DRM、加密)访问作品,即使目的正当也可能触雷。REA 明确不做规避——它分析的是 unprotected 的二进制,不碰 TPM。
这套边界声明的意义超出法律本身:一个工具主动把自己限制在"干净的一半"里,是在向企业用户和研究者释放可信信号——能力有边界,才敢进生产环境。
GitHub 上还有一个更早的 REA(mytechnotalent/rea,Reverse Engineering Assistant),走的是 RAG + LLaMA 路线,和 morluto/rea 不是一回事。中文圈已有内容混用两者名字,查阅时注意区分。
REA 真正的行业信号不在逆向本身,而在它验证的模式:专业工具的"Agent 化"。选工具、学 API、搬证据、决定下一步——这四件事过去是专业人士的十年功力,现在被一个 MCP server 摊平。安全研究、数据分析、法律检索,每个有"重型专业工具 + 轻量交互层"的领域,都会出现自己的 REA。
它对入门者的意义甚至大于对专家:过去逆向的门槛是"先当两年工具熟练工",现在门槛是"知道该问什么"。而该问什么——定义问题的能力——又一次成为了稀缺品。















































































