REA:让 Agent 逆向任何东西,通过逆向来学习产品
REA(Reverse Engineer Anything)是一个开源的 MCP Server,让 Agent 去逆向软件:从应用行为一路看到原生二进制。支持的目标很杂:原生二进制、JavaScript / Electron 应用、.NET 程序集、Android APK、网站、固件、抓包文件等。
我感兴趣的用法不是破解,而是通过逆向来学习产品:看到一个好用的功能,让 Agent 去拆开看它到底是怎么做的,再参考着在自己的项目里实现一个。
工作方式
Agent 通过 MCP 调用 REA 检查目标、追踪相关代码,REA 把发现连同证据一起返回。Agent 可以据此解释行为、继续追问,或者直接写一版实现并测试。分析在本地跑,不过 Agent 背后的模型服务商有它自己的数据政策,敏感目标要注意。
输出大致是:
- 原生程序:伪代码、汇编、字符串、符号、调用和引用关系;
- JavaScript / Electron:模块、import、Electron 主进程与渲染进程的边界;
- 其他:Go / Rust 依赖信息、APK 签名、抓包摘要等。
官网 rea.tools 上有几个示例,比如追踪 Notion 桌面端(Electron)的剪贴板桥接是怎么实现的。
安装
需要 Node.js 22 以上。一条命令完成配置:
npx rea-agents setup选择要接入的 Agent(Claude Code、Codex、Cursor、Gemini CLI、Grok Build 等),确认改动后,它会注册 MCP Server 并装好工作流说明,原有配置会先备份。
只看 JavaScript 和 .NET 不需要额外工具;深入分析原生程序需要 Hopper、Ghidra 或 IDA。IDA Pro、Hopper 这类商业工具要自己有正版授权,REA 不提供。
用法
直接跟 Agent 说就行,例如:
用 REA 分析一下这个应用的某某功能是怎么实现的,给出证据,然后在我的项目里实现一个类似的功能。
注意
逆向前确认目标的许可协议是否允许。另外 README 提醒只认官方来源:GitHub 上的 morluto/rea、rea.tools 和 npm 上的 rea-agents。