恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
REA实战完整指南(2026年10月):从 Electron 静态分析到原生二进制与浏览器追踪
首页
资讯中心
/
REA实战完整指南(2026年10月):从 Electron 静态分析到原生二进制与浏览器追踪
REA实战完整指南(2026年10月):从 Electron 静态分析到原生二进制与浏览器追踪
发布时间:2026/10/15 15:01:18
发布日期2026-10-15REAReverse Engineer Anything是 morluto/rea 项目提供的开源 MCP 与 CLI 工具它把 JavaScript/Electron、原生二进制、网站和运行时观察接到同一套调查流程中让 Agent 根据本地分析证据解释功能、追踪调用关系再辅助实现相似功能。REA 的rea-agents6.5.0 于 2026 年 10 月 14 日发布运行要求是 Node.js 22.19、24.11 或 26并配合 npm 使用。它适合分析自己拥有或获授权检查的目标不能把“逆向一切”理解成自动还原任意软件源码。REA 的价值在于把问题拆成可复核的证据链目标文件或页面 → 模块、调用、请求或指令 → Evidence → Agent 的解释与验证。静态 JavaScript 分析不需要启动目标应用运行时观察则会按当前用户权限执行或交互目标。先理解 MCP、Skill 和 CLI 的分工REA 不是单独的反编译器而是连接 Agent、分析提供方和证据结果的工作流层。MCP负责把分析工具暴露给支持本地 MCP 的 Agent。Skill提供调查顺序和证据处理规则告诉 Agent 什么时候继续追踪、什么时候保留未知项。CLI让开发者在终端直接运行同一类工作流适合脚本化和批量保存结果。截至 2026 年 10 月 15 日GitHub API 返回morluto/rea有 242,640 个 Star这个数字只能说明项目关注度不能证明某个目标一定能被完整分析。REA 官方 README 也明确区分了支持范围原生深度分析依赖 Hopper、Ghidra 或 IDA静态 JavaScript 和 .NET 检查则不需要原生分析引擎。第一步安装并先做一次只读检查安装 REA 前先检查 Node.js 版本node--versionnpm--version在 Codex 中接入时先用 dry-run 查看将要修改的配置和 Skill 路径npx rea-agentslatest setup--clientcodex --dry-run--json确认计划后再执行正式设置npx rea-agentslatest setup--clientcodex设置向导会单独展示 npm 下载确认和 REA 配置变更。查看计划、批准后再写入配置完成后重启 Codex。需要经常从终端使用时可以安装全局 CLInpminstall--globalrea-agents rea--help第二步用 Electron 示例练习完整证据链Electron 是最适合第一次实战的目标因为官方指南说明分析已解包的应用目录或 ASAR 不需要安装或启动 Electron。以 Notes 示例为例用户点击导出按钮后调用链通常是 renderer 暴露的 API → preload 的ipcRenderer.invoke→ main 进程的ipcMain.handle→ 写出 CSV 文件。先对目标目录做静态分析并把完整结果保存下来npx-yrea-agentslatest analyze-javascript-application\/absolute/path/to/notes-example--jsonapp-evidence.jsonREA 返回的结果包含模块、导入关系、Electron 边界和 Evidence。完整 Evidence 可能很大官方 CLI 文档建议先投影摘要再查看模块页jq-c{source: {kind: inline, evidence: .}, view: {kind: summary}}\app-evidence.jsonapp-view.json rea inspect-analysis-view app-view.json在结果中优先查看normalized_result.summary.ipc确认 IPC 通道和处理函数再根据normalized_result.graph的源码位置追踪具体实现。通道或处理程序无法确定时保留“未知”比猜测函数名更可靠必要时再进入运行时观察。第三步从浏览器动作追到网络请求如果问题发生在网页上可以让 REA 观察真实页面而不是只读打包后的脚本。官方浏览器指南要求使用 Chrome 系浏览器的远程调试端口Linux 示例命令如下google-chrome\--remote-debugging-port9222\--user-data-dir/tmp/rea-notes-browser\https://rea.tools/examples/notes-web/列出页面目标后捕获 10 秒的页面、可访问性文本和 JSON 结构npx-yrea-agentslatest list-browser-targets\http://127.0.0.1:9222--jsonnpx-yrea-agentslatest inspect-web-page\http://127.0.0.1:9222 TARGET_ID\--observation-ms10000\--include-accessibility-text\--include-json-body-shapes--json需要定位脚本来源时再加--include-script-sources。官方示例中页面导出动作触发对notes.json的 GET 请求脚本读取notes[]后组装 CSV。要记住观察窗口只覆盖捕获期间发生的请求早于捕获开始的网络活动不会自动补回。第四步需要原生分析时再选择提供方原生二进制分析的前置条件比 JavaScript 更重。先列出当前环境可用的提供方和能力rea providers--jsonrea capabilities--jsonrea doctor--providerghidra--json配置好 Ghidra、Hopper 或 IDA 后再运行具体查询。下面的命令来自官方 CLI 指南rea analyze/absolute/path/to/program\--providerghidra--jsonreafunction/absolute/path/to/programmain\--providerghidra--jsonrea decompile/absolute/path/to/program0x1000\--providerghidra--jsonrea xrefs/absolute/path/to/program0x1000\--providerghidra--jsonREA 官方原生指南提醒伪代码可能遗漏细节结论应同时对照指令、常量、调用者和交叉引用。以官网 DX-Ball 案例为例重建函数通过 3,205 个输入对比并复现了 63 个编译后字节这是该案例的验证结果不能当作所有目标的性能承诺。实战中怎样判断结果是否可信可以按下面的顺序收敛问题先静态、后运行时。先读取文件、模块和调用关系只有静态证据不足时才启动页面或进程观察。先小范围、后扩展。先查一个功能或一个模块再扩大到完整应用避免一次生成难以阅读的大型 Evidence。把未知项写出来。未解析的 IPC、调用目标或数值应保留为限制并转化为下一条调查问题。保存可复用结果。原生分析可以用--snapshot保存结果后续在目标字节、参数和提供方一致时复用Evidence 也可以导出后进行比较。只分析获授权目标。运行时捕获可能以当前用户权限执行或交互目标Hopper、IDA、JEB 等商业工具的许可也需要由使用者自行取得。如果后续要把 REA 与其他 MCP 服务放进同一套 Agent 编排七牛云 MCP 使用说明列出了标准 MCP 的 SSE 与 HTTP-Streamable 接入方式这属于外围接入参考REA 的本地安装、目标分析和权限边界仍以 REA 官方文档为准。结语REA 实战最稳妥的入口是已解包的 JavaScript/Electron 应用不需要先装反汇编器就能从模块、IPC 和源码位置建立第一条证据链。浏览器分析适合追踪页面动作与网络请求原生二进制则要把提供方、文件格式、伪代码限制和交叉引用一起纳入判断。本文数据和版本信息截至 2026 年 10 月 15 日后续使用应以 REA 官方 README、6.5.0 Release 和官方指南为准。参考资料REA 官方仓库与中文 READMEhttps://github.com/morluto/reaREA 6.5.0 Releasehttps://github.com/morluto/rea/releases/tag/rea-agents-6.5.0rea-agentsnpm 包https://www.npmjs.com/package/rea-agentsREA 官方中文入门https://rea.tools/zh-CN/get-started/REA JavaScript/Electron 指南https://rea.tools/zh-CN/guides/javascript/REA 浏览器与网络指南https://rea.tools/zh-CN/guides/browser/REA 原生二进制指南https://rea.tools/zh-CN/guides/native/REA CLI 与 Evidence 文档https://github.com/morluto/rea/blob/main/docs/cli.mdMCP 使用说明https://developer.qiniu.com/aitokenapi/12984/mcp-user-manual七牛云Token Planhttps://www.qiniu.com/ai/plan