electron 如何在电子应用程序中显示电子环境的版本?

tkclm6bt  于 2023-01-15  发布在  Electron
关注(0)|答案(3)|浏览(237)

我想知道像Signal Desktop或Visual Studio Code这样的电子桌面应用程序使用的是哪个版本的Electron。有没有简单的方法-比如在开发控制台中输入命令?
谢谢!约翰尼斯
(Why?我想看看它是否受到https://www.trustwave.com/Resources/SpiderLabs-Blog/CVE-2018-1000136---Electron-nodeIntegration-Bypass/等bug的影响)

unftdfkk

unftdfkk1#

如果App启用了开发者工具并启用了nodeIntegration.,则可以以VS Code为例:
打开“开发人员工具”,在控制台选项卡中键入

process.versions.electron

文档位于:https://electronjs.org/docs/api/process
或尝试从userAgent字符串解析版本

navigator.userAgent.match(/Electron\/([\d\.]+\d+)/)[1]

jhdbpxl9

jhdbpxl92#

打开开发人员工具,然后在控制台选项卡中键入:

navigator.userAgent

例如,在我获得的Discord应用程序中:

Mozilla/5.0 ... Electron/9.3.5 ...
jc3wubiy

jc3wubiy3#

在类Unix或Linux系统下(也可能在Windows下使用Cygwin或MSYS shell或WSL,但这在那里没有经过测试),您可以使用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

该正则表达式搜索以Chrome/开头的字符串,后跟任意数量的数字和点字符、单个空格,然后是Electron/及其后面的任意数字。
如果您的系统使用UTF-16字符串,那么这种方法可能不起作用,但是由于浏览器倾向于在内部使用UTF-8,所以它仍然有可能在Windows电子二进制文件上起作用。

相关问题