ARTICLE · 1183870
原来 AI 已经能逆向你手上的软件了,背后是个叫 REA 的 MCP 在干活
让 AI 用大白话拆开没有源码的软件,听起来像魔法——REA 把它变成了一个能被 Agent 直接调用的接口。
合规提醒:REA 官方声明其用于合法的研究、教育、互操作性、软件保存,以及分析你拥有或获准检查的软件。本文仅作技术介绍,不认可任何非法或未授权使用。文中涉及的 IDA Pro、Hopper、JEB 等商用工具需自行取得许可,不能使用破解副本。
你有没有过这种时刻——
看中某个 App 的一个功能,心想「这玩意儿我要是能照着做一个就好了」,但手头没有源码,反编译、看汇编、读伪代码又全是劝退项。
最近 GitHub 上走红的一个开源项目 REA(Reverse Engineer Anything),瞄准的就是这个痛点:它把一整套逆向工程工具,封装成一个 AI Agent 能直接调用的接口。你用大白话告诉 Agent「帮我搞清楚这个功能的实现原理」,它就能驱动底层工具去拆、去追、去拿出证据,最后还可能帮你把类似功能写出来。
它火到什么程度?这个项目 4 月 14 日才建仓,到 10 月初也才不到 1 万 Star,却在过去约一周里一口气冲到 20 万级——截至 10 月 14 日,多源统计显示已突破 20 万(今日头条 API 实测约 21.5 万、什么值得买直查 GitHub API 约 20.9 万,约 5.2 万 fork)。它到底怎么做到的,又该怎么上手?下面一次说清。
一、REA 到底是什么
一句话:REA 是一个 MCP 服务器,把 Hopper、Ghidra、IDA、Apktool 这些专业逆向工具,包装成标准化接口,供 Claude Code、Codex、Cursor 这类 AI 编程助手直接调用。
它不是又一个反汇编器,也不是新出的反编译器。它的位置在「工具」和「Agent」之间——
传统逆向:你手动开 Ghidra,自己定位函数、读伪代码、顺调用链,全程靠经验; 用 REA:你给 Agent 一句自然语言指令,Agent 通过 MCP 调 REA,REA 去驱动底层工具分析,再把带证据的结果返回给 Agent,Agent 接着追问、解释,甚至动手实现。
最关键的不是「能拆」,而是结果带证据链。REA 返回的发现里会附上文件偏移、交叉引用、置信度,以及明确标注的「未知项」——这直接对冲了大模型最容易犯的毛病:瞎编。
你拿到的是一句「有依据的猜测」,而不是一句「我觉得它是这么干的」。

项目用 TypeScript 编写,以 npm 包 rea-agents 形式发布,采用 MIT 开源协议。运行环境需要 Node.js 22.19+ / 24.11+ / 26+ 之一,外加 npm。
还有一点值得单独说:这项目迭代快得离谱。它 5.0.0 于 10 月 7 日发布,短短几天内又连发 6.0→6.4 一连串破坏性版本,最新稳定版 6.4.0 于 10 月 11 日放出,而且走的是「小版本即破坏性更新」的明规则——小版本不保证向后兼容。6.0 把 MCP 文件系统输入全改成绝对路径;6.2 / 6.3 重写了证据模型,没有来源记录或事务标识的抓取会被直接拒绝(官方明确让你重新生成观察结果,而不是伪造标识);6.4 又加进了 ADB / Apktool 的 Android 设备检查、分体 APK 获取、JEB 反编译等。对使用者来说,这意味着装完别放着,常更新——但也意味着文档常比 npm 包新,实际能力以你装到的版本为准。
二、它能拆什么
覆盖面比很多人想的要宽。下面列主要类型(来源:REA 官方 README,实际共约 16 种):
两个要点:
静态 JS 和 .NET 检查不需要原生分析引擎——你不用装 Hopper 就能把 Electron 应用的结构摸个大概; 真正深入原生二进制,才需要 Hopper / Ghidra / IDA 之一。设置流程可以在你批准后帮你装 Hopper,Ghidra 和 IDA 则用你已有的安装。

三、怎么用:三步上手
1. 注册到你的 Agent
装好 Node.js 和 npm 后,一行命令:
npx rea-agents setup它会列出要改的配置、让你选 Agent(支持 Claude Code、Codex、Cursor、Gemini CLI、Grok Build 等),你确认后它自动写入 MCP 配置并备份原有配置。完成后重启 Agent 即可。
2. 用大白话让它干活
注册好之后,直接给 Agent 下指令。官方给的范例是:
弄清 Notes 应用的搜索功能如何工作,展示证据,并为我的项目实现类似功能。把 Notes 换成你的目标应用,把「搜索功能」换成你想搞懂的那一项就行。
3. 不想开 Agent?终端也行
检查一个已经解包的 JS / Electron 应用目录或 ASAR 文件:
npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json返回结果包含模块、导入、Electron 边界及对应证据。Windows 上路径写成 "D:/apps/example" 这种形式。
要是经常用,可以把 rea 命令装到全局:
npm install --global rea-agentsrea --help原生分析得先配好 provider;更新也很简单——npm 装的 CLI 用 rea update,用 npx 的就重跑 npx rea-agents@latest setup。
小提示:REA 更新很频繁,新版本经常含着 bug 修复。遇到问题先更新,再重试,能解决一大半。
四、真实实践:官方给出的三个案例
光说能力太空,REA 官网放了几份完整案例,最能说明它「能干到什么程度」。
案例一:DX-Ball,重建声像计算
顺着声音相关的调用,一直追到一个「根据位置计算声像」的辅助函数,再逐条核对指令,把不完整的伪代码整理成 C 代码。最终重建结果通过了 3205 个原始 x86 测试用例,并精确复现了编译后函数全部的 63 个字节。这不是「看起来对」,是逐字节对得上。
案例二:Notion,追踪 Electron 剪贴板桥
找到渲染进程里的剪贴板 API,顺着 preload 和 IPC 一路追到主进程,把富格式剪贴板数据是怎么流转的,扒得清清楚楚。对想理解「Electron 应用前后端怎么通信」的人来说,这是一份现成的教科书。
案例三:TH04,恢复 DOS 环形子弹的计算
这是个老 PC-98 游戏。REA 检查原始的 16 位指令,把固定角度和瞄准角度的算法恢复出来,还把重建的 C++ 和当年的编译器输出做了对比。
官方 showcase 还给了更贴近日常的例子:用 REA 查清 Windows 计算器为什么算 200 + 10% 会得出 220,或者从某款验证器 APK 里还原出登录码的生成逻辑。可见它不只能拆老游戏,真实产品里那些「说不清怎么实现」的功能,它都能试着挖。

一个完整的端到端画面是这样的:你问「Notes 的搜索怎么实现的」→ Agent 先要一份总览 → 顺着字符串、交叉引用、调用图往下挖 → 拿到伪代码和汇编 → 判断哪些可信、哪些标着「未知」→ 最后在你的项目里照着写一个类似功能。
你始终能看到「证据从哪来」,而不是 Agent 拍脑袋给结论——这正是它和普通「让 AI 写代码」最不一样的地方。
五、几个必须说清的边界
工具越强,越要把话挑明:
只分析你有权检查的软件。REA 明确不认可非法或未授权使用;商用逆向工具(IDA/Hopper/JEB)要自己拿到合规许可,破解副本、盗用密钥一律不行。
运行时捕获会以你的用户权限运行目标。也就是说,分析一个会联网、会写文件、会起进程的程序时,它真的会动你的环境,要心里有数。
它不是「一键克隆」魔法。Agent 给的是带证据的发现,最终判断、取舍、落地,还是人的活。看不懂证据链,照样用不好它。
更新快、报错先更新。这是开发节奏很快的项目,踩到 bug 第一反应是
rea update。平台有门槛。原生二进制、固件这类深度分析需要 Linux 或 macOS 环境;Windows 下原生分析目前仅实验性支持 Ghidra,想深挖原生程序最好备一台 Linux / macOS。纯前端 / Electron 应用的静态分析则各平台都能跑。
结语
REA 火得有道理:它把原本只有安全研究员、逆向老手才玩得转的工具链,用 MCP 这层接口,递到了普通开发者的 Agent 手里。门槛被削掉一大截,但「能拆」和「该拆、会拆」之间,仍然隔着法律边界和技术判断。
把它当放大镜用——看清别人怎么实现,是为了把自己的东西做得更好,而不是别的。
如果你觉得这篇帮你把 REA 看明白了,欢迎点赞、在看、转发三连,让更多人少走弯路。我们下篇见。
注:文中 Star 数与版本信息来自 GitHub Trending、Clauday、SegmentFault 等公开报道,实时数据以仓库页面为准;REA 官方仓库与文档见 morluto/rea(GitHub)及 rea.tools。















































































