夜雨聆风学习资料网

ARTICLE · 1215355

338k star! 没有源码也能搞清楚它怎么工作:REA 逆向分析工具上手指南

338k star! 没有源码也能搞清楚它怎么工作:REA 逆向分析工具上手指南

做开发久了,总会遇到这样的场景:用某个应用时,发现一个功能设计得很巧妙,想在自己的项目里实现类似的效果,但对方没有开放源码,也没有任何文档说明内部实现。

过去的做法要么是凭经验猜,要么是找同类开源项目参考,要么就是放弃。现在多了一个选项——让 AI 智能体配合逆向工具直接去查。

REA 做的就是这件事。

它解决什么问题

REA 是一个 MCP 服务,把 AI 智能体和本地逆向分析工具连接起来。智能体通过 REA 检查目标——原生二进制、Electron 应用、Android APK、.NET 程序集、网站等——追踪相关代码,返回发现结果和对应证据。

整个分析过程在本机运行,文件不上传到任何服务器。返回的结果里包含伪代码、汇编片段、调用链、字符串引用等具体证据,而不是模糊的推测。

智能体拿到这些材料后,可以进一步解释行为逻辑,也可以直接为你的项目写出类似实现。

能分析哪些目标

覆盖范围相当宽,主要包括:

•原生二进制文件:返回伪代码、汇编、字符串、符号、调用关系,需要配合 Hopper、Ghidra 或 IDA 使用•JavaScript / Electron 应用:分析模块、导入、source map、IPC 通信和原生扩展关系,只需 Node.js 和 npm,不依赖原生分析引擎•Android APK:提取清单声明、类、反编译方法和引用,需要 JADX 和完整 JDK•.NET 程序集:静态检查元数据、CIL 指令、声明的原生依赖•网站:分析页面结构、脚本、网络请求,可按需截图,需要 Chrome 系浏览器•固件、数据包捕获、WASM 产物、Go 二进制、Flutter 应用等,各有对应的分析路径和前置工具要求

不同分析目标对本机工具的依赖不同。JavaScript 和 .NET 的静态分析读取本地文件,不运行目标程序;运行时捕获则会以当前用户权限与目标交互。

怎么装

需要 Node.js 22.x(≥22.19)、24.x(≥24.11)或 26+ 版本,以及 npm。

接入 AI 智能体

npx rea-agents setup

运行后选择目标智能体,确认变更后批准。安装程序会添加 REA 的 MCP 服务和对应的工作流指引,并备份现有配置。支持 Claude Code、Cursor、Codex、Gemini CLI、Grok Build 等。完成后重启智能体。

接入完成后,直接告诉智能体目标就行:

弄清 Notes 应用的搜索功能如何工作,展示证据,并为我的项目实现类似功能。

把 Notes 换成你想分析的应用,描述你关心的功能即可。

命令行直接使用

分析 JavaScript 或 Electron 应用目录、ASAR 文件:

npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json

路径替换为实际目标,Windows 上格式如 "D:/apps/example"。

如果需要频繁使用,安装全局命令更方便:

npm install --global rea-agentsrea --help

保持更新

REA 迭代较快,新版本经常包含修复。全局安装后用以下命令更新:

rea update

使用 npx 的话,更新智能体配置:

npx rea-agents@latest setup

实际案例

官方给出了几个具体案例,说明 REA 能做到什么程度。

DX-Ball 声像重建:沿声音调用追踪到根据屏幕位置计算声像的辅助函数,检查指令,将不完整伪代码转为 C 代码。重建结果通过了 3,205 个原始 x86 测试用例,复现了编译后函数的全部 63 个字节。

Notion 剪贴板桥接追踪:找到渲染进程的剪贴板 API,沿 preload 脚本和 IPC 通信追踪到主进程,检查富格式剪贴板数据的处理方式。

TH04 DOS 弹幕恢复:检查 PC-98 游戏的 16 位指令,恢复固定角度和瞄准角度的计算逻辑,将重建的 C++ 与当年编译器的实际输出进行对比验证。

这三个案例的共同点是:都有可验证的证据,不是靠猜。


写在最后

逆向分析过去是一件门槛较高的事,需要熟悉反汇编工具、理解 CPU 指令、手动追踪调用链。REA 的思路是把这个过程交给 AI 智能体来驱动,把分析工具变成智能体的"手",让调查过程系统化、可追溯。

对于想了解竞品实现、需要做互操作性开发、或者单纯对某个功能的底层机制感到好奇的开发者,这个工具值得跑一次试试。

REA 在 GitHub 开源,MIT 许可。使用时需遵守相关法律,分析自己拥有或获得授权检查的软件。 ```

相关学习资料