ARTICLE · 1135209
【GitHub趋势】REA:让 AI 助手带着证据分析应用功能

项目简介
缺少源码时,如何弄清一个应用的功能实现?REA(Reverse Engineer Anything)通过 MCP 把分析工具接入 AI 助手,也提供命令行入口,覆盖原生二进制、JavaScript/Electron 应用等对象。分析在本地进行,结果附带证据与限制,方便继续追查具体功能。官方 README
核心特性
终端与助手共用能力:可直接运行分析命令,也能让助手在会话中调用工具、保留调查上下文。项目说明 静态梳理应用结构:JavaScript/Electron 分析可恢复模块、导入、路由和 IPC 等线索,无需执行目标应用。官方 README 沿功能线索追踪:从字符串、路由或模块等入口查找可达关系,并保留匹配依据;静态关系不等于实际执行过的路径。功能追踪文档 比较版本并保留疑点:对两份应用图谱分类标注变化,覆盖不足时保留未知,不把未观察到的项目直接判为删除。版本比较文档
快速开始
先按官方安装说明准备 Node.js 与 npm:支持 Node.js 22.x(至少 22.19)、24.x(至少 24.11)或 26+。静态 JavaScript 分析只需这些运行时;原生分析还要满足对应引擎的系统要求。下面采用官方提供的 npm 全局安装方式,再配置助手:
npm install --global rea-agentsrea setup在交互流程中选择需要接入的助手,核对配置修改;完成后重启相应助手。Hopper 是独立可选项,单纯做静态 JavaScript 分析无需安装它。配置流程
准备好解包后的 JavaScript/Electron 应用目录或 ASAR 文件,把下面的示例路径换成目标的真实绝对路径,再执行 README 支持的分析命令:
rea analyze-javascript-application /absolute/path/to/releases/app.asar --json输出包含分析结果与证据上下文。遇到环境问题时,可以运行只读诊断,查看依赖和配置状态:命令依据
rea doctor --json为什么火了
从功能与需求看,REA 可能吸引两类关注:想用自然语言调查应用的开发者,以及希望让分析结果更容易复核的工程师。把线索检索、结构追踪和证据交给同一个工作流程,更容易减少手工搬运上下文的负担。这是基于产品设计的判断,不能据此推断实际使用规模或传播增速。
适合谁
适合需要理解缺少源码的应用、整理接口线索,或比较 Electron 应用版本差异的开发者。要注意,动态调用和模糊关系可能仍是未知,静态追踪不能证明运行时行为。分析边界
若要深入分析原生二进制,还需配置 Hopper、Ghidra 或 IDA 等工具;Hopper 有独立许可及演示版限制。REA 不承诺恢复原始源码,也不承诺自动复制完整应用。官方说明