夜雨聆风学习资料网

ARTICLE · 1285193

411k Star!让 AI 逆向任何软件:REA 把真逆向工具,接给了你的 Claude

411k Star!让 AI 逆向任何软件:REA 把真逆向工具,接给了你的 Claude
411k
GitHub Star
6个多月
从0到411k Star
2533个
已合并 PR

你大概率干过这事:刷到一个 App,某个功能做得特别妙,忍不住想知道它是怎么实现的。于是抓包、翻安装目录、把二进制拖进反编译器,然后在几万行汇编里迷路。

逆向工程的门槛,从来不是"会不会点开 IDA",而是把抓包、静态分析、动态调试这一堆工具串起来的经验。现在这件事有了新解法:把整条工具链交给 AI agent。

REA(Reverse Engineer Anything)干的就是这个:一个 MCP,把原生二进制、JavaScript/Electron 应用、.NET 程序集、网站的分析能力,接给你手头的 agent。仓库今年 4 月创建,6个多月冲到 411k Star(103k fork),合并 2533 个 PR,npm 周下载 53.8万次。这一篇讲清楚:它怎么工作、怎么上手、值不值得装。

01
项目全景:一个 MCP,把逆向整条工具链接给 agent

一句话定位:给 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 到老古董都在射程内。

💡 一线感受:以前做竞品分析和兼容性排查,黑盒摸索大半天,结论全靠"我猜"。现在不少团队的第一步变成了"先让 agent 带着证据过一遍"。工具没变少,串工具的活儿交出去了。

▍也别神化它

深度原生分析要配 Hopper、Ghidra、IDA 或 Kuna——商用工具你得自己有正版授权;纯静态看 JS/Electron 或 .NET 不需要引擎。

它给你伪代码、汇编和证据,复刻实现还是要自己写、自己测。它是调查员,不是替你交活的外包。

02
使用技巧:装上、问对、用好

▍安装:一条命令

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 刷新注册。

03
分层上手:哪些必须会,哪些知道就行
🧭 先给一个判断标准:这个功能你每周都会用到吗?每周都遇到→必学;偶尔→会用;一年碰不上几次→了解即可。

▍必学:第一次就必须会的主流程

setup 主流程 · 一条命令把 REA 接进 agent
作用:注册 MCP server、写入 workflow 指令、备份旧配置,重启 agent 生效。
为什么必学:没有这一步,agent 和 REA 之间那根线不存在,后面全部免谈。
"目标+证据+复刻"提问句式 · REA 的正确打开方式
作用:让 agent 输出带证据、带局限说明的调查结论。
为什么必学:不这么问,你拿到的就是"我觉得";带着"要证据",拿到的才是可验证的结论。
rea update · 跟住这个飞快迭代的项目
作用:更新 CLI 并按提示重跑 setup,拿 bug 修复和新目标支持。
为什么必学:README 原话"REA changes quickly",不更新就撞上人家已经修掉的 bug,排查半天白费。

▍会用:按需取用的功能

功能
作用
什么时候用 · 什么时候别用
原生分析引擎接入
对原生二进制出伪代码、汇编、符号
要拆原生二进制时配;只看 JS/Electron 或 .NET 时别配,省一步
CLI 独立命令
不经 agent 直接分析、输出 JSON
要脚本化、批量跑时用;要多轮追问时别用,agent 对话更顺手
Schema 开关
控制上下文占用与输出契约体积
上下文紧张或客户端限帧大小时调;默认值已够用,别乱动
快照导入导出
保存、恢复分析现场
长任务中断续跑、团队传证据时用;一次性小任务别存,平添管理成本

▍了解:知道有这回事就行

RL 环境构建:rea environment-build 把录制的 API 会话变成 agent 可调用的环境(配合 AgentEnv 和 Docker)。

冷门格式内建解析:GGUF/safetensors 模型文件、Unity IL2CPP、Godot PCK、Erlang BEAM、Apple IPS 崩溃日志、EVM 字节码等。

Android 生态:JADX、JEB、Apktool、adb 设备操作,面向移动安全分析。

💡 为什么了解就行:这三块都是"特定目标才触发"的功能。你不是每天逆向固件和模型文件,全学一遍等于全忘;真用到时翻对应 guide,十几分钟就能上手。
04
实战案例:官方 showcase 里的三个硬核故事

案例一: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 多神",而是每一步都给出证据——伪代码、指令、字节对照;你要复现,自己验就行,不必信任何人的口气。

05
小结:把"证据优先"装进你的工作流

✅ 看中功能,先让 agent"讲清楚 + 给证据",别急着猜

✅ 判断 AI 结论,看证据不看口气

✅ 报错先 rea update 再排查,别跟已修复的 bug 较劲

✅ 只用于合法研究、教育、互操作、软件保存和自有/授权软件的分析;商用引擎记得用正版

证据与结论绑定、分析在本地跑、对局限诚实——这三件事让它像调查员,不像算命先生。

我的建议:前端/Electron 开发者,先拿 JS/Electron 静态分析上手,零引擎依赖;真要拆原生二进制,再按需配 Hopper 或 Ghidra。逆向的合法边界没有因为 AI 出现而移动,授权之外的软件,别碰。

📌 项目地址:github.com/morluto/rea
📌 官网/文档:rea.tools
如果这篇文章对你有帮助,欢迎点赞、在看、转发三连 👋

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料