REA:免费开源AI逆向工程工具,让Claude Code、Codex分析软件源码与运行逻辑
看到一个软件的功能特别好用,想知道它是怎么实现的,但又拿不到源代码,该怎么办?
REA(Reverse Engineer Anything)是一款免费开源的 AI 逆向工程工具,可以让 Claude Code、Codex、Cursor 等 AI Agent 分析软件的内部结构、代码逻辑和运行行为。
它支持 Windows 程序、Electron 应用、JavaScript、.NET、Android APK 和网站等多种分析对象。
最大的特点是:不需要自己从头研究反汇编代码,可以直接用自然语言让 AI 协助调查软件功能,并提供对应证据。

一、REA是什么?
REA 的全称是 Reverse Engineer Anything,中文可以理解为“逆向分析一切”。
传统软件逆向工程通常需要使用:
- Ghidra
- IDA
- Hopper
- 反编译器
- 调试工具
开发者需要自己寻找函数、分析调用关系,再逐步理解软件的工作原理。
REA 则通过 MCP(模型上下文协议),把这些分析能力接入 AI Agent。
例如,你可以直接告诉 Codex:
分析这个应用的搜索功能,找出它的核心实现逻辑,展示相关证据,再帮我的项目实现一个类似功能。
REA 负责提供分析工具与证据,Codex 负责理解结果、继续调查和编写代码。
所以 REA 并不是一键复制整个软件,而是:
让 AI 更容易理解现有软件的实现原理。
二、功能特征
AI自动辅助逆向分析
用户可以直接使用自然语言描述需要调查的功能。
AI 通过 REA 调用相关工具,分析代码、函数和运行行为。
原生二进制分析
结合 Hopper、Ghidra 或 IDA,可以获取:
- 汇编代码
- 伪代码
- 函数调用
- 字符串
- 符号
- 交叉引用
帮助理解没有源代码的原生应用。
Electron和JavaScript分析
REA 可以分析 JavaScript 和 Electron 应用,包括:
- 模块结构
- 导入关系
- Source Map
- Electron主进程与渲染进程
- IPC通信
- 原生扩展关系
这类静态分析不需要额外安装 Hopper 或 Ghidra。
网站运行行为分析
可以结合 Chrome 系浏览器调查:
- 页面结构
- JavaScript
- 网络请求
- 运行时行为
- 页面截图
适合研究交互功能和前端实现方式。
Android APK分析
结合 JADX、JDK 等工具,可以读取 APK 中的类、方法、引用和应用清单。
也可以使用 ADB 观察授权设备上的应用运行情况。
更多文件格式
REA 还提供针对 .NET 程序集、WebAssembly、Go 二进制文件、固件、网络抓包等内容的分析能力。
不同格式需要的额外工具和操作系统有所区别。
证据追踪
REA 的一个重要设计是:分析结果不仅给出结论,还会尽量提供对应的代码、函数或运行证据,并说明不确定之处。
这让用户能够检查 AI 的判断,而不是完全相信模型猜测。
三、操作指南
REA 最简单的使用方式,就是安装到已有的 AI 编程工具中。
需要提前准备:
- Node.js 22.19+、24.11+ 或 26+
- npm
- Claude Code、Codex 或其他支持 MCP 的 Agent
安装命令:
npx rea-agents@latest setup
运行后:
- 选择需要接入的 AI Agent。
- 检查 REA 准备修改的配置。
- 根据需要选择分析引擎。
- 确认并完成安装。
- 重启对应 Agent。
- 直接通过对话提出分析任务。
例如:
使用 REA 分析这个 Electron 软件,找出它是如何保存用户配置的,并整理相关代码和调用关系。
如果只是分析 JavaScript 或 Electron 应用,还可以直接使用命令行:
npx -y rea-agents@latest analyze-javascript-application /path/to/app --json
需要长期使用,也可以全局安装:
npm install --global rea-agents
安装后使用 rea --help 查看命令。
四、支持哪些AI Agent?
REA 通过 MCP 接入 AI 工具。
目前支持的主要工具包括:
| AI工具 | 支持情况 |
|---|---|
| Claude Code | 支持 |
| OpenAI Codex | 支持 |
| Cursor | 支持 |
| Gemini CLI | 支持 |
| Claude Desktop | 支持 |
| OpenCode | 支持 |
| GitHub Copilot CLI | 支持 |
| Windsurf | 支持 |
| Qwen Code | 支持 |
| Hermes | 支持 |
| Grok Build | 支持 |
其他支持本地 MCP 服务的 AI Agent,也可以根据文档手动配置。
部分新接入的客户端可能仍处于开发分支,实际支持范围应以当前发布版本为准。
五、支持平台
REA 是基于 Node.js 的开发者工具,不是传统的独立图形界面软件。
| 环境 | 主要情况 |
|---|---|
| macOS | 支持,原生分析有成熟路径 |
| Linux | 支持,具体发行版有要求 |
| Windows | 支持部分分析流程 |
| Chrome系浏览器 | 支持网页分析 |
| 命令行 | 支持 |
| MCP | 支持 |
需要注意:
REA能分析Windows程序,不代表全部逆向功能都能直接在Windows原生环境运行。
例如 Ghidra 的 Windows 集成目前还存在实验性支持部分。
如果需要深入分析原生二进制程序,应该先查看当前分析引擎的系统要求。
六、产品定价
REA 本身:
免费开源。
GitHub 项目采用 MIT License,可以自由使用、修改和分发。
不过实际使用可能涉及三类费用:
| 项目 | 收费情况 |
|---|---|
| REA本身 | 免费 |
| Ghidra | 免费 |
| Hopper、IDA等商业工具 | 根据厂商许可 |
| Claude Code、Codex等AI服务 | 根据各自套餐或API计费 |
对于只需要分析 JavaScript、Electron 或 .NET 的用户,可以先体验不依赖商业原生分析引擎的功能。
但如果要分析复杂的原生程序,可能需要额外配置逆向工具。
七、使用场景
REA 比较适合以下几类用户:
- 软件开发者:研究已有软件的功能实现方式。
- AI编程用户:让Claude Code、Codex辅助理解没有源代码的程序。
- Electron开发者:分析应用的模块与IPC通信。
- 安全研究人员:在授权范围内调查软件行为和潜在问题。
- Android开发者:研究APK结构和依赖。
- 软件维护人员:分析历史程序或缺少文档的软件。
- 技术学习者:学习汇编、反编译和逆向工程。
例如,你发现一个软件的快捷搜索体验很好。
可以让 REA 辅助调查:
输入事件 → 搜索逻辑 → 数据处理 → 结果展示。
再让 AI 根据调查结论,为你自己的项目实现类似交互。
八、数据与安全
REA 主要在本地运行分析工具,默认不要求把整个目标程序上传到 REA 的云服务器。
但需要注意:
本地分析,不代表所有分析信息都不会离开电脑。
当 Claude Code、Codex 等 Agent 调用云端模型时,相关分析结果可能被发送给对应模型服务商。
另外,静态分析通常只读取文件,而运行时分析可能实际启动目标程序。
因此建议:
- 仅分析自己拥有或已获授权的软件。
- 对未知程序使用隔离的测试环境。
- 不要随意运行来源不明的可执行文件。
- 企业项目注意代码和数据保密要求。
- 遵守商业反编译工具的许可证。
九、运作模式
REA 的工作流程可以简单理解为:
用户提出问题
↓
Claude Code / Codex
↓
通过MCP调用REA
↓
选择对应分析工具
↓
读取程序或观察运行行为
↓
返回代码、调用关系和证据
↓
AI解释实现原理
↓
根据需要编写和测试新功能
例如 REA 官方展示过分析 Windows 计算器百分号计算规则,以及研究 Chrome 小恐龙游戏加速逻辑的案例。
这些案例说明了它的主要价值:
让软件内部原本不容易看懂的实现过程,变成 AI 可以协助调查和解释的问题。
不过逆向分析仍然会受到混淆、加密、缺失符号和运行环境等因素影响,不能保证所有功能都能被完整还原。
结语
REA 的特别之处,不是又开发了一个反编译器,而是把已有的逆向工具接到了 AI Agent 上。
通过:
MCP + Ghidra/Hopper/IDA + JavaScript分析 + 运行时调查 + 证据追踪
让 Claude Code、Codex 等工具不只能够阅读你自己的项目,也可以在授权范围内帮助理解没有源码的软件。
如果你经常研究软件功能、Electron程序、网页交互或二进制文件,REA 是一个值得关注的开源项目。
它真正解决的问题不是:
“让AI一键复制任何软件。”
而是:
“让AI帮助你弄清楚,一个软件究竟是怎样工作的。”
网址
你觉得这篇文章怎么样?
共有 0 条评论