Electron框架打包的JavaScript可执行程序加密后无法正常运行该如何解决?

WIBU
2024-08-01
首先介绍下原理:
1.当我们对使用了electron技术框架的JavaScript脚本代码转换为可执行程序来运行时,JavaScript脚本代码实际上是没有得到有效保护的,这种对“浏览器”的加密没有任何意义。程序运行时有可能将(electron.exe)替换为不受保护的、免费可用的,被替换后依旧能够正常工作。
2.Electron应用程序内部使用Chromium技术,这种情况下的问题的根源是Chromium沙盒。
Chromium克隆了自己,并剥夺了过程中的一些权限。例如使用EXECUTE标志调用VirtualProtect的权限(请参阅:https://www.troopers.de/media/filer_public/f6/07/f6076037-85e0-42b7-9a51-507986edafce/the_joy_of_sandbox_mitigations_export.pdf ).
AxProtector保护后的代码获取页面权限执行是需要这些权限的。所以,要解密代码就必须更改页面权限。
解决方案:
运行加密的electron.exe,需要按如下方式调用它:electron.exe --no-sandbox