ARTICLE · 1285193
411k Star!让 AI 逆向任何软件:REA 把真逆向工具,接给了你的 Claude
你大概率干过这事:刷到一个 App,某个功能做得特别妙,忍不住想知道它是怎么实现的。于是抓包、翻安装目录、把二进制拖进反编译器,然后在几万行汇编里迷路。
逆向工程的门槛,从来不是"会不会点开 IDA",而是把抓包、静态分析、动态调试这一堆工具串起来的经验。现在这件事有了新解法:把整条工具链交给 AI agent。
REA(Reverse Engineer Anything)干的就是这个:一个 MCP,把原生二进制、JavaScript/Electron 应用、.NET 程序集、网站的分析能力,接给你手头的 agent。仓库今年 4 月创建,6个多月冲到 411k Star(103k fork),合并 2533 个 PR,npm 周下载 53.8万次。这一篇讲清楚:它怎么工作、怎么上手、值不值得装。
一句话定位:给 AI agent 的逆向工程工具集,从 App 行为一路拆到原生二进制。
▍它解决什么痛点
过去你让 AI"分析一下这个 App",它只能靠文件名和字符串猜。REA 给 agent 接的是真家伙:反编译伪代码、汇编、符号、调用关系、Electron 的 IPC 边界、抓包记录——而且每个结论后面跟着证据和局限。
> README 原话:"Your agent calls REA through MCP to inspect the target and trace relevant code. REA returns findings with their evidence."(你的 agent 通过 MCP 调用 REA 检查目标、追踪相关代码;REA 返回结论,连着证据一起。)
让 AI 拿着真工具干活、结论后面跟着证据——这是它和"让 AI 猜代码"的本质区别。
▍为什么被追捧
接入零门槛。一条 setup 命令,直接配好 Claude Code、Codex、Cursor、Gemini CLI、Grok Build 等主流 agent。
分析在本地跑。README 的 FAQ 写得直白:"REA analyzes targets locally."(目标不上传;真正要看数据政策的,是你 agent 背后的模型服务商。)
覆盖面夸张。README 列了 36类 可分析目标:JS/Electron、.NET、Android APK、Flutter、Go/Rust 二进制、GPU 代码对象、GGUF 模型文件、Unity IL2CPP、Godot PCK、WASM、EVM 字节码、固件、内核模块、抓包文件……从现代 App 到老古董都在射程内。
▍也别神化它
深度原生分析要配 Hopper、Ghidra、IDA 或 Kuna——商用工具你得自己有正版授权;纯静态看 JS/Electron 或 .NET 不需要引擎。
它给你伪代码、汇编和证据,复刻实现还是要自己写、自己测。它是调查员,不是替你交活的外包。
▍安装:一条命令
npx rea-agents setup要求 Node.js 22.x、24.x 或 26+。装完第一步不是直接用,而是跟着提示走:选 agent、审阅并批准改动、重启 agent。setup 会注册 MCP server、写入配套的 workflow 指令,覆盖已有配置前会先备份。
❓ 用哪个 agent?(Claude Code、Codex、Cursor、Gemini CLI、Grok Build 都支持)
❓ 要不要配原生分析引擎?(可复用已装的 Hopper/Ghidra/IDA/Kuna,setup 也能在批准后帮你装 Hopper;只做 JS/.NET 静态分析可以不装)
❓ 在哪个目录跑?(README 特意提醒:从目标项目以外的可信目录执行安装)
▍上手第一步:换掉提问句式
装完之后,决定体验的是你怎么对 agent 提需求。README 给的示例句直接可用:
> "Understand how search works in the Notes app, show me the evidence, and build a similar feature for my project."(搞明白 Notes 应用的搜索是怎么实现的,给我看证据,然后为我的项目做一个类似的。)
句式拆开就四段:目标 + 想知道什么 + 要证据 + 要复刻。少说"要证据",你拿到的就是泛泛而谈。
▍进阶技巧
① 不开 agent 也能用 CLI。npx rea-agents@latest analyze-javascript-application /目标路径 --json 直接输出模块、导入、Electron 边界和证据,适合塞进脚本流水线。
② Schema 开关调节上下文开销。输入 schema 默认 compact 省 token,要完整字段引导就设 REA_MCP_INPUT_SCHEMA_PROFILE=full;客户端限制 tools/list 帧大小就设 REA_MCP_OUTPUT_SCHEMA_PROFILE=compact。
③ 更新走 rea update。项目迭代极快(当前版本 6.8.0),README FAQ 对报错的第一条建议就是先更新;更新后按提示重跑 setup 刷新注册。
▍必学:第一次就必须会的主流程
▍会用:按需取用的功能
▍了解:知道有这回事就行
RL 环境构建:rea environment-build 把录制的 API 会话变成 agent 可调用的环境(配合 AgentEnv 和 Docker)。
冷门格式内建解析:GGUF/safetensors 模型文件、Unity IL2CPP、Godot PCK、Erlang BEAM、Apple IPS 崩溃日志、EVM 字节码等。
Android 生态:JADX、JEB、Apktool、adb 设备操作,面向移动安全分析。
案例一:DX-Ball 音效声像算法,啃到字节级一致
官方 showcase 里最有说服力的一个:从一次声音调用追进"坐标转声像"的辅助函数,读指令、把不完整的伪代码补成 C。重建实现通过了 3205 个原始 x86 测试用例,63个 编译函数字节全部一致。
反转在于:这是个上世纪的 Windows 小游戏,没有源码,靠 agent 带着反编译工具一步步硬啃,最后啃出位级一致的复刻。
案例二:Notion 剪贴板,拆穿 Electron 全链路
从渲染进程的 clipboard API 出发,穿过 preload 和 IPC,一路追到主进程,看清富剪贴板格式怎么流转。对 Electron 开发者,这相当于一堂现成的"跨进程通信该怎么设计"公开课,每一步带证据。
案例三:TH04 弹幕游戏,16 位老古董也能拆
原作是 PC-98 上的 16 位 DOS 程序。REA 配合 Ghidra(它支持 16 位 DOS 分析)恢复了固定角和瞄准角的弹道计算,重建的 C++ 与历史编译器输出对照验证。
很多人以为"几十年前的二进制没法分析",这个案例直接把偏见拆了。
这三个 showcase 的共同点不是"AI 多神",而是每一步都给出证据——伪代码、指令、字节对照;你要复现,自己验就行,不必信任何人的口气。
✅ 看中功能,先让 agent"讲清楚 + 给证据",别急着猜
✅ 判断 AI 结论,看证据不看口气
✅ 报错先 rea update 再排查,别跟已修复的 bug 较劲
✅ 只用于合法研究、教育、互操作、软件保存和自有/授权软件的分析;商用引擎记得用正版
证据与结论绑定、分析在本地跑、对局限诚实——这三件事让它像调查员,不像算命先生。
我的建议:前端/Electron 开发者,先拿 JS/Electron 静态分析上手,零引擎依赖;真要拆原生二进制,再按需配 Hopper 或 Ghidra。逆向的合法边界没有因为 AI 出现而移动,授权之外的软件,别碰。
📌 项目地址:github.com/morluto/rea
📌 官网/文档:rea.tools















































































