REA——20 万 Star 的开源逆向神器:让 AI Agent 无需源码拆开任何应用,从二进制到 APK 全覆盖

用 AI 写代码这件事,如今已经不是什么新鲜事了。但不知道你有没有过这种时刻:看到一个 App 里某个功能特别优雅——比如 Windows 计算器那个"200 + 10% = 220"的百分比逻辑,比如某款老游戏里丝滑的音效声场——你想搞明白它是怎么实现的,然后发现:没有源码。过去的路子只有一条,请一位专业逆向工程师,或者自己啃 Hopper、Ghidra、IDA 这三座大山。

今天五哥要给大家介绍的 REA(Reverse Engineer Anything),干的就是把这条路的门槛直接铲平的活儿。它的官方副标题一句话说完了所有野心:

One MCP for reverse engineering across binaries, applications, and runtime behavior. —— 一个 MCP,把逆向工程覆盖到二进制、应用程序和运行时行为。

一句话概括:给 AI 编码 Agent 装上一套逆向工程工具箱,让它无需源码就能拆开任何应用——从原生二进制、Electron 应用、.NET 程序集,到 Android APK 和网站,分析完还给你带证据链的结论。这个项目从今年 4 月建仓,到 10 月已经冲上 20 万 GitHub Star,npm 包 rea-agents 单周下载量 23 万次,是目前 AI Agent 工具赛道最现象级的开源项目之一。

📌 REA 是什么?

REA 出自 GitHub 用户 morluto 之手,TypeScript 写的,MIT 协议,官网在 rea.tools。它本质上是一个 MCP Server(Model Context Protocol),可以无缝挂到 Claude Code、Codex、Cursor、Gemini CLI、Windsurf、Devin、GitHub Copilot CLI 等十几款主流编码 Agent 上——只要你的 Agent 支持本地 MCP,就能用。

它的定位说得很清楚:不是"代码克隆工具",而是"可验证的逆向调查管线"。整个工作流被拆成三步:

  • Decompile(反编译)——通过 Hopper、Ghidra、IDA 等引擎打开目标,还原可读伪代码、汇编、字符串、符号和调用关系;
  • Understand(理解)——Agent 顺着调用链追踪逻辑,直到能清晰解释某个功能"到底是怎么实现的";
  • Recreate(重建)——把理解转化成你自己项目里能跑的实现,并测试验证。

第三步是 REA 和普通反编译工具最大的区别:它不只是"给你看汇编",而是让 Agent 基于分析结果直接把功能重写出来。所有分析全程在本地运行,每条结论都附带 Evidence(证据)和 Limitations(局限),有迹可循、不凭空臆测。

🧰 它能拆什么?覆盖面相当吓人

这是 REA 最让人意外的地方——原以为它只是个"二进制反编译 MCP",实际看它的目标清单,几乎把软件的每一种形态都安排上了:

目标类型能拿到什么额外要求
原生二进制伪代码、汇编、字符串、符号、调用引用Hopper / Ghidra / IDA 任一
Go / Rust 二进制编译器版本、模块信息、crate 依赖边内置静态分析,无需装 Go/Rust
JavaScript / Electron 应用模块、导入、source map、路由、IPC、原生插件关系Node.js 即可,无需反编译引擎
网站页面结构、脚本、网络观察、截图Chrome 系浏览器
.NET 程序集元数据、CIL 指令、原生依赖、构建对比纯静态,无额外依赖
Android APKManifest 声明、类、反编译方法与引用Headless JADX + JDK
Android 设备包、进程、日志、截屏、APK 传输adb(模拟器或真机)
Flutter 应用Dart 快照哈希、分 ABI 库摘要、引擎构建溯源纯静态解析
固件区域、提取结果、原生分析交接Binwalk / Unblob(Linux)
WASM / EVM 字节码导入导出 WAT、合约 selector、参数推断WABT / Linux 本地分析
SQLite 数据库表、列、索引、视图、触发器、数据行本地快照
抓包文件请求响应、暴露的载荷、来源定位(HAR/SAZ)mitmdump(可选)
网络数据包 / 逻辑信号端点、DNS、TLS SNI、协议分布、解码注解TShark / sigrok-cli(Linux)
进程行为终端输出、交互、退出码、文件系统观察Linux/macOS 原生 PTY

从 1996 年的 Windows 老游戏到链上智能合约,从手机 App 到路由器固件,基本都在射程之内。而且静态的 JavaScript 和 .NET 分析完全不需要装任何反编译引擎,开箱即用。

🎯 官方案例:有多硬核?

官网 Showcase 里挂了三个完整的复盘案例,每一个都值得细品:

案例一:Windows 计算器的 % 按钮。这是个很多人被坑过的问题——为什么 200 + 10% 等于 220,而 200 × 10% 等于 20?REA 拆开安装好的 Calculator 的二进制,定位到 % 按钮的处理函数,还原出两条分支:加法后面的 % 取的是第一个数的百分比(200 的 10% 是 20,所以 200+20=220),乘法后面的 % 则把当前数除以 100(0.1×200=20)。官方拿微软开源的计算器源码交叉验证了还原结果,分毫不差。

案例二:Chrome 恐龙小游戏的加速规则。REA 通过浏览器调试通道读出运行中的游戏脚本,找到了那条加速规则:初速 6,每次更新加速 0.001,上限 13。然后 Agent 用这条还原出来的规则,重写了一个带速度滑杆的迷你版恐龙游戏——你能亲手把速度调到官方数值玩。

案例三:DX-Ball(1996)的声场计算。这是最能体现"考古级"能力的一个:从没有源码的老游戏 exe 里,顺着声音调用一路追到"球位置 → 左右声道"的声像函数,把不完整的伪代码补全成 C 语言,最终通过了 3205 个原始 x86 测试用例,重建函数的 63 字节机器码与原版完全一致——连编译器产出的字节都复刻了。

另外还有 Notion 剪贴板桥接、Aegis 验证器的六位动态口令(为什么每 30 秒变一次)等 Electron / Android 案例都在官网上挂着完整过程。

🚀 上手:一条命令的事

要求 Node.js 22.x(≥22.19)/ 24.x(≥24.11)/ 26+,装好 npm 即可。在你的 Agent 环境里跑:

npx rea-agents setup

它会列出要改的配置项(写入 MCP 注册 + 匹配的工作流指令),确认后自动备份原配置再写入,重启 Agent 就生效。想长期用可以全局安装:

npm install --global rea-agents
rea --help

然后就可以直接对你的 Agent 说人话了:

搞清楚备忘录 App 的搜索是怎么实现的,给我看证据,
然后在我的项目里做一个类似的功能。

不用 Agent 也行,CLI 直接干活。比如分析一个解包出来的 Electron 应用目录或 ASAR 文件:

npx -y rea-agents@latest analyze-javascript-application /绝对路径/应用目录 --json

几个常用的运维命令:

rea update                        # 升级
rea doctor                        # 全链路体检(所有 Agent + 引擎)
rea doctor --client codex --json  # 只检查某个 Agent 的注册状态
rea doctor --provider ghidra      # 只检查某个反编译引擎

原生二进制分析需要三选一:Hopper(setup 时经你确认可以自动装)、Ghidra、IDA Pro。后两者接你已有的安装,REA 不会替你装,也不会给你license——商业工具你得自己合法持有,README 里专门用一段强调了"不接受破解版"。

⚖️ 和传统逆向工具比,变了什么

对比项传统流程(Hopper/Ghidra/IDA 手动分析)REA + AI Agent
上手门槛需要系统学习反汇编与逆向方法论自然语言提问即可
分析方式人工逐函数阅读汇编/伪代码Agent 沿调用链自动追踪
产出你自己的笔记和注释解释 + 证据链 + 可运行的重写实现
覆盖目标主要面向原生二进制二进制/JS/.NET/APK/固件/抓包/信号全覆盖
可复现性依赖个人经验结论附带 Evidence 与 Limitations
成本工具付费或免费自选MIT 开源,引擎按需自备

它的定位其实很清晰:不是取代逆向工程师,而是把"看懂一个闭源软件"这件事,从专业技能变成一段对话。深度疑难杂症还是得人上,但 80% 的"我就想知道这个功能怎么实现的",现在一句话的事。

🤔 该说的边界,也得说

  • ⚖️ 合法使用是硬前提——官方免责声明写得非常明确:REA 仅用于合法的研究、教育、互操作性、软件保存,以及你拥有或被授权分析的软件。拿它拆别人的商业闭源软件搞抄袭,不是这个项目的用途;
  • 🔒 数据在本地——分析全程在本地执行,目标程序不会上传。但要留意你的 Agent 背后的模型服务商有自己的数据政策;
  • 🧩 引擎自备——原生深度分析依赖 Hopper / Ghidra / IDA,静态 JS 与 .NET 则零依赖;Hopper 只在 setup 时经你明确批准才会安装;
  • 🩹 版本迭代很快——项目更新频繁,遇到 bug 先 rea update,很多问题在新版本里已经修了;
  • 📄 MIT 协议——REA 自身代码完全开源免费,商业工具的授权责任在使用者自己。

💬 五哥总结

逆向工程这个行当,过去三十年基本是少数人的手艺活。REA 有意思的地方在于,它没有试图"用 AI 重做一个 Ghidra",而是把现有的专业引擎(Hopper / Ghidra / IDA / JADX / Binwalk / TShark……)全部接到 MCP 这一层,让 Agent 当那个读汇编的人。引擎还是那些引擎,但操作它们的门槛从"科班逆向工程师"降到了"会用 Claude Code 的开发者"。

半年 20 万 Star,说明这个需求是真刚需——毕竟"看到一个好功能想抄作业"这件事,写代码的人谁没干过呢?只是以前抄作业得先会破解题目的锁,现在 AI 帮你把锁打开了,还把解题步骤(Evidence)写得明明白白。

项目地址:

你是怎么看"AI 逆向工程"这件事的?是效率神器,还是新的合规隐患?评论区聊聊。

上一篇 unbagrnd——把 AI 抠图搬回本地:Rust + Tauri 打造,断网也能用,四平台免费开源