ARTICLE · 1182919
21万星的REA:让AI看懂任何软件的底层原理,一条命令接入
一个刚满20万星的开源项目,能让你的 AI 助手拆开任何软件,从 Electron 应用到原生二进制,看清功能是怎么实现的——本地运行,全程留证据。
开篇
GitHub 上又出了一个现象级项目。[@morluto/rea@],Reverse Engineer Anything,直译过来就是"逆向工程任何东西"。截至写稿,216,600 星、53,400 fork,MIT 协议,增长速度在今年的开发者工具里排得进前列。
它做的事一句话能说清:给 AI Agent 装上逆向工程的眼睛。
你可能在 Claude Code 或者 Cursor 里让 AI 写过代码,但你有没有试过让它"搞懂"一个没有源码的软件?比如 Notion 的剪贴板是怎么处理富文本的,某个老游戏的声音定位算法长什么样。以前这类活儿是 Ghidra、IDA 反编译专家的专利,现在 REA 把整条工具链包成了 MCP 服务,AI 自己就会调。

REA 到底是什么
REA 的定位是 MCP(Model Context Protocol) 服务——一个连接 AI Agent 和逆向工具层的中间件。你的 Agent 通过 MCP 调用 REA,REA 去检查目标软件、追踪相关代码,然后把带有证据的分析结果交回给 Agent。
注意"带有证据"这四个字。这是 REA 和"让 GPT 猜一下这个二进制干嘛的"的本质区别:每一条结论都附带证据链和局限性说明,Agent 可以基于证据继续追问、解释行为,甚至写出可运行的复刻实现。
分析的另一个特点是全部在本地运行。REA 不上传你的应用,工具跑在你自己的机器上(当然,Agent 背后的模型服务商有自己的数据政策,这点要分清)。
支持接入的 Agent 相当全:Claude Code、Codex、Cursor、Gemini CLI、Grok Build,理论上任何支持本地 MCP 服务器的客户端都行。

它能分析什么
REA 的覆盖面是我觉得最值得说的一点,远不止二进制:
- 原生二进制
:伪代码、汇编、字符串、符号、调用与引用关系。需要配合 Hopper、Ghidra 或 IDA,其中 Hopper 可以在安装时经你批准后自动装 - JavaScript / Electron 应用
:模块、imports、源码映射、路由、IPC 边界和原生插件关系。不需要任何原生分析引擎,装完就能用 - .NET 程序集
:元数据、CIL 指令、原生依赖和构建对比,纯静态分析 - 网站
:页面结构、脚本、网络请求观察(需要 Chrome 系浏览器) - Android
:APK 静态解析(manifest、字符串表、版本信息)、Flutter 应用引擎指纹、通过 ADB 连真机或模拟器做动态分析 - 更硬核的
:固件(Binwalk/Unblob)、抓包 pcap 文件(TShark)、逻辑信号录制(sigrok-cli)、macOS 应用包结构
一句话总结适用面:从网页到 DOS 时代的 16 位老程序,都在射程内。Ghidra 甚至专门支持 16 位 DOS 分析——这不是噱头,后面有个真实案例会讲到。

安装教程:两条路径
路径一:接入你的 AI Agent(推荐)
前置条件只有一条:Node.js。版本要求 22.x(≥22.19)、24.x(≥24.11)或 26+,外加 npm。
npx rea-agents setup就这么一条命令。setup 会列出支持的 Agent 让你选,展示它打算做的配置改动,你确认后它才动手:注册 REA 的 MCP 服务器 + 安装配套的工作流指引,改动前自动备份现有配置。装完重启 Agent 即可。
Linux 用户注意一个坑:Ghidra、JADX、固件工具和静态 JS 分析在 Linux 上需要 PATH 里有 procps 兼容的 ps(进程归属检查用),官方文档 installation.md 里有恢复步骤。
路径二:当命令行工具用
如果你只想在终端里跑分析,不接 Agent:
npm install --global rea-agents rea --help举个实际例子,检查一个解包后的 Electron 应用目录或 ASAR 包:
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json输出会包含模块清单、imports、Electron 的进程边界,以及每项结论的证据。
更新也简单:全局安装的用 rea update,npx 方式的重跑 npx rea-agents@latest setup。这个项目迭代很快,新版本经常带 bug 修复,遇到问题先更新再报 issue。

三个真实案例
光讲功能太空,REA 官网 showcase 里放了三个完整案例,我挑要点说说。
案例一:逆向 Notion 的剪贴板
目标:搞清 Notion 桌面版(Electron 应用)的剪贴板是怎么处理富文本的。
REA 从渲染进程的 clipboard API 入手,一路追踪:renderer 调用 → preload 桥接 → IPC 通道 → 主进程实现,最后定位到富文本剪贴板格式的具体处理逻辑。整个过程跨了 Electron 的三个进程边界,没有一行 Notion 的源码。
案例二:重建 DX-Ball 的声像定位算法
DX-Ball 是 1996 年的打砖块游戏。目标是恢复它的声音 pan(左右声道定位)计算。
REA 顺着声音调用链往下挖到位置转 pan 的辅助函数,检查指令,把不完整的伪代码补全成可编译的 C 代码。验证结果:重构版本通过了 3205 个原始 x86 测试用例,63 字节的编译产物一字不差。复刻仓库在 GitHub 上能找到。
案例三:恢复东方 Project 同人游戏 TH04 的弹幕角度计算
TH04 是 PC-98 平台的老弹幕游戏。REA 分析 16 位指令,恢复了固定角度和瞄准角度两套计算,重构的 C++ 代码和历史编译器输出做了逐位对比。
三个案例共同点很明确:不是"AI 猜了个大概",而是给出能通过原版测试用例的可验证重建。

实操建议与合规提醒
几条实用经验:

深度原生分析前先确认 Provider:Hopper、Ghidra、IDA 各有适配文档,大二进制可以用 REA_GHIDRA_STARTUP_TIMEOUT_MS调启动超时macOS 上首次用 Hopper 会弹许可证对话框,要在同一用户会话里手动点完,否则无人值守任务会卡住 静态 JS 和 .NET 分析零依赖,最适合快速上手感受能力边界
最后必须说清楚:项目有专门的 DISCLAIMER,立场很明确——REA 用于合法研究、教育、互操作性、软件保存,以及分析你拥有或获得授权的软件。逆向别家商业软件前,先确认法律边界,IDA、Hopper、JEB 这些商业工具的许可证也要自己合规购买。
写在最后
REA 把"看懂一个软件怎么实现的"这件事的门槛,从"熟练掌握 Ghidra 加十年汇编功底"降到了"会用一句话向 AI 提问"。20 万星的背后,是大量开发者确实需要这个能力——做竞品功能调研、老软件考古、安全研究、兼容性分析。
项目地址:github.com/morluto/rea
官网 rea.tools















































































