
了解你的应用内部发生了什么变化:检查Electron应用和二进制文件,追踪发现到文件和行列,比较发布版本。本地进行,无需执行目标。CLI、MCP服务器、网页界面。
概览
接口页面可以调用,窗口设置和网络主机在两个构建间发生变化,文件和行分别在两侧,哪些无法建立,以及CI的策略门。本地操作,无需执行目标。 本地网页界面比较了示例应用的两个版本。真实输出。 25秒,以下命令的真实输出:两个版本,一个新成员页面可以同时调用读取的两个位置,一个未知而非被移除的通道,以及策略在退出3·mp4·用docs/demo/release-gate.tape录制 Node.js 22.12 或更新版本就够了。演示复制了两个 Electron 示例应用和示例策略的版本到 ./hexvero-demo,展示了它们之间的变化,以及每个更改的读取来源: 1.5.0 增加了 checkUpdate,成员页面可以调用,其处理器在 main.js:30 获取新主机。shell:open 仅存在于 1.4.0,但 1.5 版本。
概述(AI 翻译)
赫克斯维罗
Electron 发布差别用于安全审查:IPC、预加载桥接器、窗口设置和网络主机发生了哪些变化。
网站和示例报告 ·试试看 ·在你自己的应用里 ·在CI中 ·文档 ·针对AI代理 ·限制 ·常见问题解答
英语 ·德语 ·西班牙语 ·法语 ·葡萄牙语(巴西)·Русский ·中文 ·日本語 ·한국어
hexvero 比较两个 Electron 应用的构建(app.asar、.app、安装目录或发布 ZIP),并告诉你它们内部发生了什么变化,文件和行分别位于两侧,用于发布的安全审查或审计。它只读取文件;不执行任何文件。
它捕捉到了什么
根据 npx hexvero demo 复制的两个示例构建(NotesDesk 1.4.0 和 1.5.0):
- 新的IPC和桥接面:
window.notesdesk.checkUpdate在1.5.0中新增,读取处preload.js:9,并在main.js:30处与其ipcMain.handle相关联。 - **改变页面可做内容的窗口设置:在
main.js::win、nodeIntegration: true → false和sandbox: false → true上,报告为较不宽松。 - 新网络主机和存储密钥:向
updates.notesdesk.example在main.js:30请求;一个localStorage键’notesdesk。
本页由 AI 翻译,技术细节请以原文为准。
README
以下为原文 README 节选,完整内容请查看原文。
Try it in 10 seconds
npx hexvero demo
Needs Node.js 22.12 or newer. It copies two builds of a small example app (NotesDesk 1.4.0 and 1.5.0) into ./hexvero-demo and shows what changed. Excerpt, … marks cuts:
What changed between notesdesk-1.4.0.asar and notesdesk-1.5.0.asar
Two builds of a small example Electron app, read statically. Nothing was executed.
interfaces (2)
+ preload.js::notesdesk::checkUpdate @ b: preload.js:9, handler main.js:30 · link direct
- preload.js::notesdesk::openInShell @ a: preload.js:9, handler main.js:30 · link direct
…
ipcChannels (2)
+ update:check @ b: receiver main.js:30, sender preload.js:9
? shell:open @ a: receiver main.js:30, sender preload.js:9
the other side has values there that could not be resolved
windows (1)
~ main.js::win @ b: main.js:8
nodeIntegration: true → false, nodeIntegrationInEffect: "on" → "off", sandbox: false → true
…
安装
npx hexvero demo