REA 上手指南:把本地应用、网页和二进制交给智能体,追到证据再复现功能

REA 上手指南:把本地应用、网页和二进制交给智能体,追到证据再复现功能|AI 生成封面图
REA 上手指南:把本地应用、网页和二进制交给智能体,追到证据再复现功能|AI 生成封面图

如果你是开发者、逆向工程人员,或者手里有一个没有源代码的应用,想知道某个功能究竟怎么工作,REA 会很快对上你的需求。你可以把“帮我查清这个应用的搜索功能,并说明依据”交给支持 MCP 的智能体,由 REA 负责检查文件、代码关系、运行行为或二进制细节,再把证据交回智能体解释。它的价值不在于替你按一下分析按钮,而在于把原本分散在反编译器、浏览器工具和命令行里的调查过程串起来。

上手前先看这些

  • 项目定位:Reverse engineer anything with agents, from app behavior down to native binaries.
  • GitHub:morluto/rea
  • 官网:https://rea.tools/
  • 主语言:TypeScript
  • 开源协议:MIT
  • 热度:194,971 stars
rea 官网首页截图,帮助读者快速判断产品定位。
rea 官网首页截图,帮助读者快速判断产品定位。
上手提示:rea 更像是一个开发效率类项目。REA 适合需要分析软件行为的开发者、逆向工程人员和安全研究者。它通过 MCP 把智能体连接到 JavaScript、Electron、.NET、Android、网页、数据库和原生二进制分析工具,返回带证据与限制说明的结果,再辅助理解和重写功能。关键词:agent-skills、ai-agents、binary-analysis、claude-code、cli

它到底在解决什么麻烦

软件没有源代码时,普通的“看一看文件”往往不够。你可能需要先找入口,再跟踪模块、IPC、函数调用、网络请求或汇编,最后还要判断哪些结论有证据。REA 的定位,是让智能体通过 MCP 调用一组逆向分析工具,围绕一个具体问题持续追踪目标。

例如,你可以给它一个 Electron 应用目录,询问剪贴板功能经过哪些层;也可以给它一个原生二进制,要求解释某个计算过程。REA 返回的不只是结论,还包括支撑结论的代码位置、调用关系或其他分析证据,以及当前还不能确定的部分。

用大白话概括:输入是你有权分析的应用、文件、网页或运行记录,输出是结构化的分析结果和证据,智能体再据此解释、继续追问,或者辅助写出相近实现。

从一个真实任务开始:查清一个功能,再做出相似版本

最适合展示 REA 工作流的任务,是“我喜欢某个应用里的一个功能,但看不到源代码,想弄明白它怎么实现”。官方给出的提问示例是分析 Notes 应用的搜索功能,并要求智能体展示证据、为自己的项目构建类似功能。这个例子说明,REA 关注的是从问题到调查,再到实现的连续过程。

  • 先提出问题:告诉智能体目标应用和具体功能,问题越具体,后续调查越容易收敛。
  • 再检查目标:REA 可以分析应用文件、模块、导入关系、路由、IPC、原生扩展,或者调用相应的原生分析工具。
  • 查看证据:结果会带回支撑判断的内容,而不是只给一个无法核对的摘要。
  • 继续追问或实现:智能体可以根据调查结果解释行为,并辅助写出和测试一个相似功能。

这套流程的关键是“证据跟着结论走”。逆向分析中,伪代码可能不完整,变量名也可能缺失;把证据和未知项一起返回,能让使用者知道哪些地方已经定位,哪些地方仍需要人工判断。

输入和输出:不同目标,对应不同准备

REA 覆盖的对象很宽,但并不意味着所有目标都用同一套依赖。静态 JavaScript 和 .NET 检查可以直接读取提供的文件,不运行应用;运行时捕获则会以当前用户权限启动或交互目标,具体影响要看对应指南。

分析目标 可以得到什么 额外条件
JavaScript / Electron 模块、导入、源码映射、路由、IPC 和原生插件关系 Node.js 和 npm
原生二进制 伪代码、汇编、字符串、符号、调用和引用 Hopper、Ghidra 或 IDA
网站 页面结构、脚本、网络观察和指定截图 Chrome 系浏览器
.NET 程序集 元数据、CIL 指令、原生依赖和构建对比 静态分析不需要额外原生引擎
Android APK Manifest 声明、类、反编译方法和引用 Linux、macOS 或 Windows x64 上的 JADX 和完整 JDK

除此之外,REA 还列出了 SQLite 数据库、WASM、EVM 字节码、固件、网络抓包、Linux 崩溃记录、Android 设备和进程行为等分析入口。这里要特别留意“调用方提供”的依赖:例如 WASM 需要 WABT 1.0.42,固件分析需要 Linux 上的 Binwalk 或 Unblob,Android 设备分析需要 adb。

安装路径:先让智能体接入,再决定是否深入

基本环境是 Node.js 和 npm。项目要求 Node.js 22.x(至少 22.19)、24.x(至少 24.11)或 26 及以上。最短的安装命令是 npx rea-agents setup,之后选择要接入的智能体,检查它准备修改的配置并批准。

安装过程会注册 REA 的 MCP 服务,同时写入匹配的工作流指令,并为已有配置创建备份。完成后需要重启智能体。官方列出的支持对象包括 Claude Code、Codex、Cursor、Gemini CLI、Grok Build 等;其他客户端可以按照文档手动注册 MCP。

  • 只想分析 JavaScript 或 Electron:可以先从应用目录或 ASAR 开始,使用 npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json。
  • 经常使用命令行:可以执行 npm install --global rea-agents,再用 rea --help 查看入口。
  • 需要分析原生程序:先配置 Hopper、Ghidra 或 IDA 提供者,再使用对应的 CLI 或 MCP 工作流。

如果命令行是通过 npm 或 Bun 全局安装的,可以用 rea update 更新。使用 npx 接入智能体时,则重新执行 npx rea-agents@latest setup,检查配置变化并重启智能体。项目更新较快,官方也建议遇到问题时先更新。

哪些地方最有用,用户会得到什么

REA 的优势不只是支持目标多,而是把“分析工具”变成智能体能够调用的工作流。你不用先记住每个工具的参数,再手动拼接中间结果;可以先用自然语言提出问题,再让智能体根据返回结果继续调查。

  • 跨工具调查:同一个项目可以连接原生二进制、Electron 应用和网页分析入口,适合需要从应用层一路追到底层的任务。
  • 证据化结果:分析结果包含依据和限制,使用者能够区分已确认信息与推断,而不是把智能体的回答当成无条件正确。
  • 命令行也能用:不想通过智能体交互时,可以直接调用 CLI,结果还支持 JSON 等适合脚本处理的形式。
  • 本地分析:REA 在本地分析目标。智能体会收到工具结果,但模型服务商仍有自己的数据政策,敏感项目不能只看“本地运行”四个字就放松审查。

官方案例展示了这条路线的具体样子:可以跟踪 Notion 的 Electron 剪贴板桥接,也可以分析游戏中的原生函数和旧式 DOS 程序的指令。案例属于项目提供的展示资料,不应直接当成所有目标都能得到同样结果的保证。

适合谁,不适合谁

如果你的工作是理解已有软件,而不是从零开发一个普通业务页面,REA 的匹配度会更高。它尤其适合需要定位未知行为、研究互操作性、做软件保存,或对自己拥有和获授权的软件进行分析的人。

  • 适合开发者:想参考某个应用的功能行为,或需要理解 Electron、网页与原生模块之间如何配合。
  • 适合逆向和安全研究人员:需要同时处理二进制、调用关系、运行记录、抓包或设备信息,并希望把调查过程交给支持 MCP 的智能体协助。
  • 适合有具体问题的人:比如“这个功能从哪里进入”“数据经过哪些 IPC 边界”“这个二进制调用了什么”,具体问题比泛泛地要求“分析整个程序”更适合这套工具。
  • 不太适合初学者直接全量使用:如果你既不了解目标软件,也不熟悉文件、权限、反编译器和运行环境,REA 不会自动替你完成判断。它降低了工具编排门槛,但没有消除逆向分析本身的学习成本。
我的上手预判:如果让我自己现在开始,我会先拿一个 JavaScript 或 Electron 目录做静态分析,确认 Node.js 环境、输出格式和证据链都符合预期,再考虑接入 Hopper、Ghidra 或 IDA。这样更容易分清是目标文件的问题、智能体配置的问题,还是原生分析引擎的问题。

限制、依赖和使用边界

最现实的限制是,REA 的能力取决于目标类型、操作系统和外部工具。原生深度分析需要 Hopper、Ghidra 或 IDA;其中商业工具必须由使用者按各自许可证合法取得,REA 不提供工具授权、密钥或激活资格。试用版和演示版也要遵守厂商关于用户、自动化和输出分享的条款。

运行时捕获还有权限和副作用问题。项目文档明确区分了静态读取与运行目标两类行为,因此在处理真实设备、生产应用或包含敏感数据的文件前,应先看对应指南,确认它会执行什么、读取什么,以及当前用户权限能做什么。

  • 大二进制可能需要提高 Ghidra 或 Hopper 的启动超时设置。
  • Windows 上的 Ghidra 支持被标为实验性能力,不能按成熟平台的预期安排任务。
  • 某些分析依赖 Linux x64、完整 JDK、adb、tshark、pwntools 或其他调用方工具。
  • 智能体得到的是工具结果,模型服务商的数据政策仍然独立存在。
  • REA 面向合法研究、教育、互操作性、软件保存,以及分析自己拥有或获授权检查的软件。

公开资料里没有讲得很细的部分也需要留意:不同版本、不同分析提供者和不同目标文件之间,结果深度可能不同。项目提供了安装、就绪检查、CLI、MCP 合约和各目标指南,遇到错误时应先根据目标类型确认依赖,再更新 REA 并重新生成智能体配置。

最后怎么选

现在就值得试的人,是手上有明确分析任务,并且已经能使用 Node.js、npm 和某个支持 MCP 的智能体的人。尤其是 JavaScript、Electron、.NET 或网页目标,可以先从静态分析和命令行开始,门槛相对清楚;有原生二进制任务的人,则要把 Hopper、Ghidra 或 IDA 的准备成本一起算进去。

可以先观望的人,是只想找一个“输入软件就自动还原全部源码”的工具,或者没有合法分析权限、也不愿处理外部依赖的人。REA 能把调查流程组织起来,能提供证据,也能帮助智能体继续实现,但它没有承诺所有目标都能被完整还原。基于事实和限制来安排任务,才是它更可靠的用法。

AIPG AI导航专注于收录和解读 AI 工具、AI 网站与智能体资源。

© 版权声明

相关文章

没有相关内容!

暂无评论

REA 上手指南:把本地应用、网页和二进制交给智能体,追到证据再复现功能
none
暂无评论...