REA:无需编码,用AI逆向任意应用

REA通过MCP整合逆向工具,让AI代理分析二进制并生成功能克隆。
REA(Reverse Engineer Anything)是一个在GitHub和YouTube上走红的开源项目,它通过MCP协议将IDA、Ghidra等经典逆向工程工具暴露给Claude、Codex、Gemini CLI等AI代理,使开发者能用自然语言指令驱动二进制分析。REA的工作流从二进制中提取伪代码并结合证据链,循环验证功能是否被确认。实测中,作者用REA分析在线白板Eraser.io,在几分钟内生成了功能完整度约95%的本地克隆“Eraser Studio”,核心功能如画布、形状、导出均可用。文章同时强调官方仓库地址、仿冒风险以及克隆受版权保护应用的法律边界,并指出REA对混淆严重或加壳应用效果有限,输出仍需人工调整。
什么是REA?
REA(Reverse Engineer Anything)是近期在GitHub和YouTube上迅速走红的开源项目。它的核心能力是:让AI代理直接分析任意二进制应用,提取其功能逻辑,甚至生成一个可运行的克隆版本。与普通AI搜索不同,REA不满足于告诉你应用“有什么功能”,而是深入代码层,揭示功能是如何实现的。
据YouTube技术频道介绍,REA并非全新工具,而是整合了IDA、Ghidra等经典逆向工程工具,并通过MCP(Model Context Protocol)协议将这些能力暴露给Claude、Codex、Gemini CLI等AI代理。这意味着开发者无需手动操作复杂的逆向工具,只需用自然语言描述需求,AI就能自动完成分析。

MCP(Model Context Protocol) 是由Anthropic提出并开源的一种标准化协议,用于在AI代理(如Claude、Codex等)与外部工具或数据源之间建立安全、统一的连接。可以把它理解为AI世界的“USB接口”:只要工具实现了MCP服务器,任何支持MCP的AI客户端都能直接调用它,而无需为每个AI单独编写适配代码。在REA的场景中,IDA、Ghidra等逆向工具被封装为MCP服务,AI代理通过自然语言指令即可触发这些工具的分析能力,从而实现“提示词驱动”的逆向工程流程。MCP的出现大幅降低了AI与专业工具集成的门槛,也是REA能够跨Claude、Codex、Gemini CLI等多个代理平台工作的关键。
REA如何工作?
从二进制到功能证据
REA的工作流可以类比为“调试一道菜”。当你品尝一道菜并想复刻时,你会反复尝试、调整配料,直到接近原味。REA对软件做同样的事:它从二进制文件中提取伪代码(pseudo-code),结合证据链,告诉AI哪些功能已被确认、哪些尚不清晰。整个过程在后台循环,直到输出足够可靠的结论。
技术栈上,REA依赖Node.js环境,通过npm安装。用户在Claude Code、Codex CLI或Cursor中调用REA技能,AI会自动从GitHub拉取仓库并配置工具。据视频演示,安装过程约2-3分钟,取决于网络状况。
伪代码(pseudo-code) 是逆向工程中的核心中间产物。二进制文件由机器指令构成,人类几乎无法直接阅读;反汇编器(如IDA、Ghidra)会将其转换为汇编语言,而反编译器则进一步把汇编提升为接近C语言的高级表示,即伪代码。伪代码保留了程序的逻辑结构(条件分支、循环、函数调用等),但变量名和类型往往是推断出来的,可读性介于源码与汇编之间。REA正是以伪代码作为“证据链”的载体:AI代理阅读伪代码片段,结合字符串、导入表、界面行为等线索,判断某个功能是否存在及其实现方式。理解伪代码的局限性(如优化导致的失真、混淆对抗)有助于评估REA输出结论的可靠性。
安装与安全警示
视频特别强调,官方仓库地址为 github.com/morluto/re,且仓库中不应包含APK文件。目前市场上已出现大量仿冒仓库和诈骗版本,用户需仔细核对URL。官方Discord社区已有超过3.1万成员,提供技术支持。

APK文件 是Android应用的安装包格式,本质上是一个包含编译后代码(DEX字节码)、资源文件和清单的ZIP压缩包。在逆向工程社区中,APK常被用作分析移动应用逻辑的入口。REA官方仓库明确不应包含APK文件,原因有二:其一,REA本身是工具链而非应用分发平台,仓库中混入APK可能意味着被篡改或夹带恶意载荷;其二,仿冒者常通过附加APK诱导用户安装来实施诈骗。用户从GitHub克隆仓库时,应检查文件列表是否与官方文档一致,避免执行来源不明的二进制文件。这一警示也反映出开源AI工具生态中供应链安全的现实风险。
实测:用REA克隆Eraser.io
视频作者用REA做了一个完整演示:让AI分析在线白板工具Eraser.io,并生成一个本地克隆版。
功能发现阶段
作者在Codex中输入指令:“Inspect eraser using RE”,REA随即调用底层工具,自动打开了Eraser的编辑器、插入菜单、图表菜单、命令面板和AI面板,逐一检查功能。输出结果分为两类:直接可见的功能(文档+画布工作区、Markdown编辑器、图表即代码、自由绘制、图表库)和官方文档中确认的附加功能。
这一步展示了REA的“探索”能力——它不依赖预设脚本,而是像人类测试员一样操作界面,记录响应。
克隆生成与验证
随后,作者给出更简单的指令:“Build me a clone of Eraser using RE”。几分钟后,REA在本地端口4174上生成了一个名为“Eraser Studio”的应用。作者在Chrome中打开验证,发现文档、画布、形状添加(方形、圆形、箭头)、文本绘制、颜色修改、图表导出(PNG、SVG)等功能均可用。

作者评价称,克隆的准确度约为95%,虽然背景色等细节有差异,但核心功能完整。不过他也指出,完全100%的克隆并不现实,REA的输出更接近“功能等价”而非“像素级复制”。
法律与伦理边界
视频中,作者明确提醒:在印度等地区,克隆受版权保护的应用可能涉及侵权。他建议用户将REA用于合法场景,例如:
- 学习旧应用的实现思路,为自己的项目添加类似功能;
- 在克隆基础上加入自己的用例和增强功能,而非直接复制;
- 分析竞品功能,但避免复制受保护的代码或设计。

适用场景与局限性
REA最适合以下场景:快速理解遗留系统、提取特定功能逻辑、为旧应用制作现代化替代品。但它并非万能——对于混淆严重或加壳的应用,分析可能失败;生成的克隆也需要人工调整才能达到生产质量。
从社区热度看,REA的GitHub star增长曲线自7月起步,10月后进入快速上升期,反映出开发者对“AI驱动逆向工程”的强烈兴趣。随着Claude、Codex等代理工具的普及,REA这类技能有望成为AI编程工作流的标准组件。
加壳(packing)与混淆(obfuscation) 是阻碍逆向分析的两类常见技术。加壳工具将原始可执行代码压缩或加密,并在运行时由外壳程序解密还原,使得静态分析看到的只是外壳而非真实逻辑;混淆则通过重命名符号、插入无效指令、控制流平坦化等手段,刻意降低反编译结果的可读性。REA依赖IDA、Ghidra等工具提取伪代码,当目标应用经过强加壳或高级混淆时,这些工具本身也难以产出有效证据,AI代理的推理便失去了可靠输入。因此,REA对商业级保护的应用效果有限,通常需要结合动态调试、脱壳等人工手段。理解这一边界有助于合理设定对REA的预期,避免将其视为万能逆向解决方案。
总结
REA将逆向工程的门槛从“专家级”拉低到“提示词级”,让没有安全背景的开发者也能窥探应用内部逻辑。它的价值不在于鼓励抄袭,而在于加速学习与创新。对于想要理解优秀软件设计、或为旧系统寻找替代方案的团队,REA提供了一个高效的起点。
相关推荐

“黑色十月”:AI挖出史上3%严重漏洞?
Reddit 热帖称过去一个月发现了史上 3% 的严重软件漏洞,被称为「黑色十月」。本文拆解这一说法的统计口径问题,分析 AI 辅助代码审计如何加速漏洞发现,以及开发者和企业该如何应对补丁窗口缩短的挑战。

微软Project Gecko:用AI为非洲农民架起语言桥梁
微软Project Gecko项目推出PharmaChat应用,让非洲农民用母语提问,通过AI返回精准视频片段和农耕书籍章节。项目还发布三个交互式手册,推动包容性AI发展。

Node.js语音笔记App:语音转文字API选型指南
为Node.js语音笔记应用选择语音转文字API?对比AssemblyAI、Deepgram、Google Cloud和Whisper的免费额度、定价与Node集成体验,给出分阶段选型建议。