我想知道一个 Electron 桌面应用程序(例如 Signal Desktop 或 Visual Studio Code)正在使用哪个版本的 Electron。有没有一种简单的方法——比如在开发控制台中输入命令?
谢谢!约翰内斯
(为什么?我想看看它是否受https://www.trustwave.com/Resources/SpiderLabs-Blog/CVE-2018-1000136---Electron-nodeIntegration-Bypass/ 之类的错误影响)
fee*_*nda 22
您可以,如果应用程序启用了开发人员工具并启用了 nodeIntegration。以VS Code为例:
打开开发者工具,在控制台选项卡中,输入
process.versions.electron
Run Code Online (Sandbox Code Playgroud)
这里的文档:https : //electronjs.org/docs/api/process
或尝试从 userAgent 字符串解析版本
navigator.userAgent.match(/Electron\/([\d\.]+\d+)/)[1]
Run Code Online (Sandbox Code Playgroud)
在类 Unix 或 Linux 系统下(可能在使用 Cygwin 或 MSYS shell 或 WSL 的 Windows 下,但这尚未经过测试),您甚至可以使用该程序,strings甚至可以用于在未启用开发人员工具的情况下构建的程序。
user-agent基本上,您只是在二进制文件本身中搜索字符串。
目前,我已经能够执行以下操作:
$ strings example-electron-app-binary-file | grep '^Chrome/[0-9.]* Electron/[0-9]'
Chrome/98.0.4758.141 Electron/17.4.7
Run Code Online (Sandbox Code Playgroud)
该正则表达式搜索以 开头的字符串Chrome/,后跟任意数量的数字和点字符、单个空格,然后Electron/是其后的任意数字。
如果您的系统使用 UTF-16 字符串,这很可能不会起作用,但由于浏览器倾向于在内部使用 UTF-8,因此它仍然有可能在 Windows 电子二进制文件上起作用。
打开开发人员工具并在控制台选项卡中键入:
navigator.userAgent
Run Code Online (Sandbox Code Playgroud)
例如在Discord我得到的应用程序中:
Mozilla/5.0 ... Electron/9.3.5 ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18285 次 |
| 最近记录: |