不用源码也能看懂别人的功能:REA把二进制、Electron和网站的证据交给你的智能体
核心概要
REA把智能体接到一组本地分析工具上,用来查看原生二进制、JavaScript与Electron应用、.NET程序集和网站,让智能体在没有源码的情况下解释某个功能如何实现,并给出结论所依据的证据与局限。它通过MCP注册到Claude Code、Codex、Cursor、Gemini CLI等智能体,也提供同样的命令行工作流;原生分析可复用已有的Hopper、Ghidra或IDA安装,静态JavaScript分析不需要原生分析引擎。
深度剖析
智能体现在可以针对一个已发布的应用回答“这个功能怎么做的”,并把结论连同证据一起给出,而不必先拿到该应用的源代码。 此前要理解一个功能,通常需要能读到源码,或者只能从外部行为反推。 REA把原生二进制、JavaScript与Electron应用、.NET程序集和网站都列为可检查的目标,并说明结果会包含每个结论背后的证据与局限。
接入方式是让智能体通过MCP调用REA,由REA检查目标并追踪相关代码,再把带证据的结果交回智能体。 MCP在这里指智能体与外部工具之间的调用接口,REA以服务器形式注册进去。 安装命令为npx rea-agents setup,支持Claude Code、Codex、Cursor、Gemini CLI、Grok Build等智能体,安装时会备份已有配置并要求重启智能体。
分析在本地运行,命令行与智能体走的是同一套工作流。 原生分析可以复用机器上已有的Hopper、Ghidra或IDA,静态JavaScript分析则不需要原生分析引擎。 命令行示例为npx -y rea-agents@latest analyze-javascript-application /absolute/path/to/app --json,输出包含模块、导入、Electron边界及其证据。
启示与展望
这套工具面向需要理解已发布应用功能的研究人员和工程师,覆盖原生二进制、JavaScript与Electron应用、.NET程序集和网站,分析在本地进行,结果附带证据与局限。原生分析可复用已有的Hopper、Ghidra或IDA安装,静态JavaScript分析不需要原生分析引擎。运行需要Node.js 22.x(>=22.19)、24.x(>=24.11)或26+以及npm,其他工具与宿主支持取决于目标类型。
材料说明REA变化较快,新版本包含频繁的缺陷修复,建议保持安装更新。在Linux上,Ghidra、JADX、固件工具启动以及静态JavaScript/Electron分析要求REA的PATH上存在兼容procps的ps,用于进程归属检查,恢复步骤写在docs/installation.md的“Linux owned-process prerequisite”一节。使用Bun全局更新需要Bun 1.2.17或更高版本,更旧的版本需先手动升级Bun。
