不运行App也能逆向Electron:REA JavaScript应用图静态分析完全指南

发布时间:2026/11/4 2:19:55
不运行App也能逆向Electron:REA JavaScript应用图静态分析完全指南 【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址https://gitcode.com/gh_mirrors/rea3/rea点击查看免费下载Electron 逆向不必再先把 App 跑起来。开源项目REAReverse Engineer Anything提供完整的JavaScript 应用图静态分析能力直接读取本地 ASAR 压缩包或解压后的应用目录不执行任何应用代码就能重建模块结构、IPC 通道、contextBridge API 的完整图谱并且只依赖 Node.js无需 Hopper、Ghidra 等反编译引擎。 为什么不运行是安全的很多逆向工具需要 hook 进程、注入脚本或观察运行时行为这对分析者既是门槛也是风险。REA 的 JavaScript 应用重建走的是纯静态路线零执行整个重建路径不使用eval、Function、vm.runInContext不接触 DOM不触发任何 bundle 引导代码。测试套件里甚至专门放了一个一旦执行就会抛错的 Webpack fixture验证重建能恢复模块工厂而不触发任何副作用零依赖引擎静态 JavaScript/Electron 分析只需要 Node/npm 运行时Node.js 22.19 / 24.11 / 26不需要任何反编译引擎本地运行分析在你自己的机器上完成应用不会被上传到任何托管服务。相关设计见官方文档 javascript-artifact-reconstruction.md实现位于 src/application/javascript/JavaScriptApplicationService.ts。⚡ 快速上手一条命令开始 Electron 逆向分析第 1 步运行分析npx -y rea-agentslatest analyze-javascript-application /绝对路径/你的app --json把路径换成你的目标例如解压后的 Electron 目录或app.asar文件。Windows 下形如D:/apps/example。也可以用通用入口rea analyze它会自动为目录和.asar路径选择静态 JavaScript 提供者rea analyze /绝对路径/releases/app.asar --json第 2 步可选接入 AI Agent如果你想让 AI 编程助手Claude Code、Cursor、Codex 等直接用这套工具做完整调查运行一次引导式配置即可npx rea-agents setup它会显示计划、征询批准后才修改配置。静态 JavaScript 分析本身不需要这一步。详细安装要求见 installation.md。️ 一张图谱能看到什么7 类节点 12 种关系REA 的核心产出是一张JavaScript Application GraphJavaScript 应用图——一个跨层、带证据的数据契约把打包字节、JS 结构、Electron 进程边界、运行时观察、原生插件统一建模。节点词表应用实体类别示例包与工件package、installer、artifact、ASAR entryElectron 进程代码main、preload、renderer、utility processJS 资产asset、chunk、module源代码恢复source map、original source module窗口与框架BrowserWindow、frame、target进程间通信contextBridge API、IPC channel、IPC handler运行与网络worker、service worker、endpoint、storage原生扩展native add-on、native export关系词表有向、带证据contains、loads、imports、maps_to、exposes、sends、invokes、handles、calls、persists_to、observed_as、changed_from举个真实语料里的例子一条链路就能说清楚 Electron 的通信结构package contains app.asar main asset contains BrowserWindow BrowserWindow loads preload role preload asset exposes contextBridge API preload asset invokes uniquely matched main-process IPC handler main-process IPC handler handles literal IPC channel JavaScript asset imports requested native binding也就是说从渲染层调用一路追到主进程处理器再追到原生绑定全部来自静态推断且每一步都标注了它是观察还是推断。静态语法解析还会恢复package.json元数据、Webpack/Rspack chunk 注册、require/import调用、路由、网络端点、存储观察、source map 原始源名、webPreferences配置、utility-process 入口和.node原生绑定请求。 证据体系每个结论都说得清这张图最值得新手关注的不是能看到什么而是怎么证明。图中每个观察和每条边都携带Authority权威来源artifact 字节、AST 分析、静态关系推断、被动 CDP 运行时、原生分析、用户断言等认识状态observed观察到的/inferred推断的/unknown未知/unavailable不可用置信度exact / high / medium / low / unknown与状态独立位置与摘要可操作的文件位置 内容寻址的 artifact 摘要。几个关键规则帮你避免被过度自信的结论误导规则含义AST 观察 ≠ 运行时事实静态语法不证明该路径一定被执行动态 IPC 永不配对动态通道、多候选处理器会标记为 ambiguous而非硬连线缺失 ≠ 不存在unknown/unavailable显式记录不会把没看到当成没有exact 置信度只给观察推断类事实最高只能到 high 或更低实现细节可参考 javascript-application-graph.md 与 src/domain/javascript/javascriptApplicationGraph.ts。 进阶 5 步工作流追踪功能、对比版本拿到应用图 Evidence 后REA 提供 5 个跨层工作流CLI 与 MCP 同名CLI 用连字符命令用途rea trace-application-feature从字面种子路由/字符串/API/IPC 通道/模块/原生导出出发返回完整可达子图rea trace-javascript-semantic语义关系追踪变量来源、调用者、数据流、Promise 链rea compare-application-versions对比两个版本的应用图输出 added/removed/changed 明细rea compare-source-to-bundle历史源码 vs 打包产物的映射modified/split/merged 等rea compare-javascript-export-shapes对比某模块导出的返回形状一个典型的字面量追踪两步流程rea analyze-javascript-application /绝对路径/app --json application-evidence.json # 用该 Evidence 构造输入后 rea trace-application-feature ./trace-input.json --json注意两点边界追踪只接受精确字面匹配正则和可执行谓词一律拒绝且语义解析 ≠ 路径已执行——resolved表示静态目标唯一不代表运行时跑过。完整工作流说明见 javascript-application-workflows.md。⏱️ 确实需要运行时行为时静态/运行时对账静态图不执行恢复出的代码。当运行时语义变得重要时可以走两条互补路径被动观察通过 CDP 端点检查已打开的 Electronfile://页面rea list-electron-targets/rea inspect-electron-page不导航、不点击、不执行渲染进程代码运行时对账rea reconcile-javascript-runtime把已有的静态 Evidence 与被动捕获 Evidence 做交叉推断生成observed_as边——但它不重跑静态分析也不会隐式启动或切换任何原生分析引擎。静态事实、运行时事实、跨层推断三类权威始终分开标注相关性不会被包装成因果性。 源码与文档索引资料路径项目说明Quick start / 工具目录README.mdJavaScript 应用图设计docs/javascript-application-graph.md工件重建与静态分析docs/javascript-artifact-reconstruction.md跨层工作流docs/javascript-application-workflows.md应用图领域实现src/domain/javascript/javascriptApplicationGraph.ts应用分析服务src/application/javascript/JavaScriptApplicationService.tsElectron 静态分析IPC/窗口/原生src/domain/javascript/electronStaticAnalysisIpc.ts小结REA 把 Electron 逆向从先运行、再抓包、再猜结构变成了读文件、建图谱、带证据下结论。一条analyze-javascript-application命令你拿到的不只是一份清单而是一张每个节点都能回答凭什么这么说的 JavaScript 应用图——这对刚接触逆向的新手可能是理解 Electron 架构最快的方式。赞分享【免费下载链接】reaReverse engineer anything with agents, from app behavior down to native binaries.项目地址https://gitcode.com/gh_mirrors/rea3/rea点击查看免费下载相关推荐用 REA 逆向第一个应用Electron 与 JavaScript 静态分析和模块图谱完整入门指南用 REA 逆向第一个应用Electron 与 JavaScript 静态分析和模块图谱完整入门指南 想逆向一个没有源码的桌面应用却不知道从哪里下手本教程逆向工程MCP 服务开发工具静态分析AI 技能/插件REA 的 .NET 托管代码静态分析:不加载、不执行 PE/CLI,也能回答七个逆向问题REA 的 .NET 托管代码静态分析:不加载、不执行 PE/CLI,也能回答七个逆向问题 本文基于 REA 仓库中的 docs/managed code an逆向工程MCP 服务AI 技能Path of Building PoE2流放之路 2 离线构建规划器5 分钟规划第一个 BuildPath of Building PoE2流放之路 2 离线构建规划器5 分钟规划第一个 Build 新号建完你点开天赋树几百个节点沿着一圈圈轨道向外排桌面应用上一篇卸掉PyTorch后Mac居然能在7毫秒内“做一次决定”这个开源AI火了下一篇2B 模型开始自己「干活」了端侧通用 Agent 元年启动信号创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询