开源工具评测:REA——让 AI 编码 Agent 读懂二进制、自动复刻你想要的任何功能
你是不是也遇到过这些情况:
- 在某个 App 里看到一个「离线搜索」「一键抠图」之类的功能,特别想搬到自己的产品里,可手里只有编译好的成品,没有源码。
- 想学学某个开源或商业软件的高性能实现,打开一堆二进制文件却像看天书。
- 想用 IDA、Ghidra 逆向分析,结果被密密麻麻的汇编和陡峭的学习曲线劝退。
- 网上搜了一圈,不是零散教程,就是「照着截图猜实现」,费时费力还不靠谱。
传统做法要么是硬啃汇编、要么靠猜,效率低、门槛高、还容易出错。今天要介绍的 REA(Reverse Engineer Anything,逆向分析一切),就是来解决这个问题的——它把一整套逆向工程工具接进你的 AI 编码 Agent,你只需要说一句「帮我看看这个功能怎么实现的」,它就能在没有源码的情况下把应用翻一遍,给出带证据的结论,甚至帮你把同款功能写进你的项目。
一、项目简介:REA 是什么

REA 是作者 morluto 用 TypeScript 写的一个开源项目,遵循 MIT 协议,核心定位一句话:"Reverse engineer anything with agents, from app behavior down to native binaries."(用 Agent 逆向分析一切,从应用行为一路追到原生二进制)。
它本质是一个 MCP 服务器 + CLI,把 Hopper、Ghidra、IDA 这些专业的逆向分析引擎统一封装起来,让 Claude Code、Claude Desktop、Codex、Cursor、Gemini CLI、Windsurf、Devin、OpenCode、VS Code、GitHub Copilot CLI 等主流编码 Agent 都具备本地逆向能力。其整体热度在 2026 年 10 月初集中爆发,据多家媒体最新报道 Star 数已快速逼近 8 万(该数字仍在暴涨、一日一变,这里取的是媒体口径,具体以仓库实时为准)。
| 维度 | 说明 |
|---|---|
| 项目定位 | 把逆向工程变成编码 Agent 的一项本地能力 |
| 作者 / 协议 | morluto / MIT |
| 技术栈 | TypeScript,Node.js 22+ |
| 交付形态 | MCP 服务器 + CLI(rea-agents) |
| 核心引擎 | 自带封装,接入 Hopper / Ghidra / IDA |
| 分析范围 | 原生二进制、JS/Electron、.NET、网站、Android APK、固件 |
| 运行方式 | 全部本地执行,不上传云端 |
它的核心设计理念是 "理解,而不是复制":官方明确声明不声称恢复原始源码、也不会自动克隆一个应用,而是通过 Decompile(反编译)→ Understand(理解)→ Recreate(在你的项目里复刻) 三阶段,帮你把看到的优秀功能「看透」后,做出自己产品的版本。
二、为什么值得用:REA 解决的核心问题

逆向工程本来是安全研究者的专业技能,普通人根本碰不了。REA 最大的价值在于把这件事的门槛降到了一个 AI 指令的级别:
- 让普通开发者也能逆向。你不需要精通汇编、不需要会操作 IDA,只要会跟你的编码 Agent 说话,就能让它替你完成反编译、追踪、理解的全过程。
- 从「看到功能」到「拿到代码」一步到位。同样是想要一个同款功能,别人还在对着反编译窗口发呆,你已经让 Agent 把实现原理摸清、并把可运行的版本写到项目里了。
- 省下大量研究时间。以前分析一个未知功能可能要耗上几天,现在 Agent 能系统地排查、给出路径和证据,几分钟到几十分钟给你一个可复现的结论。
- 本地运行,隐私可控。你的目标应用不会被上传到任何云端分析服务,敏感项目也能放心分析。
三、核心优势对比:REA vs 传统逆向方案
| 对比维度 | REA | 手动 IDA / Ghidra | 纯靠 AI 猜实现 |
|---|---|---|---|
| 上手门槛 | 极低,一句话指令 | 高,需懂汇编与工具 | 低但不可靠 |
| 是否需要 API Key | 否,全本地 | 否 | 视工具而定 |
| 是否本地运行 | 是 | 是 | 不一定 |
| 数据隐私 | 本地,不上传 | 本地 | 可能上传 |
| 结论可信度 | 带证据链与局限说明 | 高但靠人判读 | 低,常胡编 |
| 是否产出代码 | 能帮你复刻到项目 | 需自己写 | 能但质量不稳 |
| 覆盖面 | 二进制/JS/.NET/网站/APK/固件 | 偏原生二进制 | 不固定 |
| 价格 | 开源免费(引擎可另选) | IDA 贵 / Ghidra 免费 | 看服务商 |
相比传统工具,REA 的几个差异化亮点尤为突出:
- 一套工具打通全品类:原生二进制、Electron、.NET、网页、APK、固件,不用再为每种格式切换不同工具链。
- 结论可追溯:每条分析结论都附带证据和局限说明,盲猜的逆向结论比没有结论更危险——这一点恰恰是逆向场景的底线。
- Agent 原生友好:为 MCP 而设计,能保持跨应用调查上下文,不用每个问题都重新开始。
- 开箱即用:
npx rea-agents setup一条命令完成配置,可自动安装 Hopper 或接入已有 Ghidra。 - 安全透明:分析在本地沙箱化执行,卸载时只清除 REA 自己的数据,不碰你的其他配置。
四、手把手实操:从安装到跑通一次逆向

环境准备
REA 对系统有一定要求,先对照检查:
- 系统:macOS 12+,或 Ubuntu 24.04+ / Fedora 41+ / 64 位 Arch Linux
- Node.js:22.x(≥22.19)、24.x(≥24.11)或 26+
- npm:REA 不强制特定版本
- 分析引擎(可选,用于原生二进制):Hopper(可自动安装)或你自己已有的 Ghidra 12.1.4 + JDK 21
第一步:安装
推荐用 npm 全局安装,再运行 setup 完成配置:
npm install --global rea-agents
rea setupsetup 会检测你已装的 Agent、分析工具,把每一条将要做的改动列给你确认后再生效,并会自动备份原配置。它支持给 Claude Code、Codex、Cursor、Gemini CLI 等多个 Agent 批量接入。也可以用官方安装脚本一键装:
curl -fsSL https://raw.githubusercontent.com/morluto/rea/main/install.sh | bash装完跑一下自检,确认环境就绪:
npx -y rea-agents@latest doctor第二步:接入你的 Agent
rea setup 完成后重启你的 Agent,配置即生效。REA 会给选中的 Agent 挂上 MCP 工具和一套引导式逆向工作流。想单独在终端用也行,rea 命令本身就是一个完整的 CLI。
第三步:基础用法——让 Agent 分析一个应用
最简单的用法,就是直接对你的 Agent 说:
理解一下 Notes 应用里的「离线搜索」是怎么实现的,把证据给我,
然后用 TypeScript + SQLite 在我的项目里复刻一个类似的版本。Agent 会调用 REA 的工具去反编译、追踪、取证,最后既给你分析结论 + 证据,又把代码写好。终端里也可以手动分析:
rea analyze /Applications/Notes.app静态分析一个 JS/Electron 应用(不解执行、直接扒结构):
rea analyze /path/to/releases/app.asar --json
rea analyze-javascript-application /path/to/releases/app.asar --json第四步:进阶用法——证据包与快照
REA 支持把分析结果固化为证据包和快照,便于复用和审计:
rea evidence-import /path/to/evidence/bundle.json
rea evidence-export /path/to/evidence/bundle.json /path/to/canonical.json
rea compare /path/to/left.json /path/to/right.json
rea analyze /path/to/app --snapshot /path/to/analysis/app.json- 证据包:规范化导入/导出,用于团队审计与对比。
- 快照:同一目标在同一参数下可直接命中缓存,不必每次重新启动分析引擎。
- 参考源码:
rea import-reference-source /path/to/source可以把旧源码树作为历史参考,与当前观察结果区分存放。
第五步:输出产物说明
- Evidence 证据:每次分析都会产出带来源、局限说明的证据,可在会话中导出为标准 JSON。
- 快照文件:
.json,本地保存、仅属主可读写,重跑命中即复用。 - 反编译伪代码:注意是伪代码而非原始源码,会明确标注哪些被解析到、哪些未能解析。
常用命令速查表
| 命令 | 作用 |
|---|---|
npx rea-agents setup | 一键安装并配置(推荐) |
rea doctor | 环境与依赖自检,--json 输出结构化诊断 |
rea analyze PATH | 分析目标(二进制/ASAR/目录) |
rea decompile | 反编译指定部分 |
rea analyze-javascript-application PATH | 静态分析 JS/Electron 应用 |
rea import-reference-source PATH | 导入历史源码作为参考 |
rea evidence-import / export | 导入 / 导出规范化证据包 |
rea compare A B | 对比两份证据 |
rea capture-process | 捕获受控进程行为 |
rea uninstall | 移除 REA 注册与托管 skill(保留引擎与其他 MCP) |
五、适用场景 & 落地案例

- AI 技术博主 / 独立开发者:在别人的应用里看到一个好功能想借鉴,让 Agent 逆向分析并给出同款实现,直接推进自己的产品迭代。
- 安全研究与漏洞分析:在不执行不可信样本的前提下,静态分析原生二进制与固件,追踪可疑代码路径并保留证据链。
- 竞品功能调研:产品经理或逆向工程师想知道竞品某个交互/算法的实现思路,用 Agent 系统化排查,避免靠截图瞎猜。
- 学习与教学:想弄懂软件底层原理的开发者,可以让 Agent「翻译」出可读的伪代码与调用路径,配合证据学习逆向方法论。
六、客观优劣总结

✅ 优势
- 门槛极低:一句话让编码 Agent 完成逆向,普通人也能用。
- 覆盖面广:原生二进制、JS/Electron、.NET、网页、APK、固件一网打尽。
- 本地运行、隐私安全,不上传目标应用。
- 结论带证据与局限说明,可信可追溯,不搞「拍脑袋」。
- 支持十余种主流编码 Agent,生态兼容好。
- MIT 开源、快速迭代,社区活跃。
⚠️ 局限与注意事项
- 不恢复原始源码,输出为伪代码/近似结果,某些细节需人工复核。
- 原生二进制分析仍依赖 Hopper(商业授权)或自行安装 Ghidra。
- 平台支持有限:主要是 macOS 和特定 Linux 发行版,Windows 为实验性。
- Node.js 版本要求较高(22+)。
- 项目处于爆发期、版本迭代极快,存在「热度跑在成熟度前面」的稳定性风险。
- 首次 Ghidra 查询触发导入与自动分析,可能超过客户端默认请求超时,需了解恢复机制。
⚠️ 安全与合规提醒:逆向工程他人软件可能违反其服务条款、知识产权及当地法律。请仅对你拥有权限的软件、开源软件或授权研究目标使用 REA,遵守相关许可与法规,避免用于恶意用途。
七、结语
REA 把「逆向工程」从少数安全专家的专长,变成了一句你就能发号施令的 Agent 能力。它让你「看到喜欢的功能 → 弄懂它怎么工作 → 做出自己的版本」这条路变得前所未有地平顺,而且全程本地、结论带证据,不靠猜。哪怕你目前不常做逆向,把它装进开发环境,也是给编码 Agent 补齐了一块很硬的能力拼图。
快速上手:
npm install --global rea-agents
rea setup
# 重启你的 Agent,然后告诉它你想理解哪个功能仓库地址:https://github.com/morluto/rea
如果你也常被「想抄功能却看不懂」困扰,不妨装上试试。觉得有用就给作者点个 Star,让这个刚爆火、还在飞速迭代的项目被更多人看到。