electron-vite 是一个新型 Electron 开发构建工具,旨在为 Electron 提供更快、更精简的开发体验。
源代码保护
背景
无法保护 Electron 源代码,是很多开发者提及最多的问题之一。我们都知道 Electron 使用 javascript 来构建桌面应用程序,这使得黑客很容易对我们的应用程序进行进行解包、修改逻辑破解商业化限制、重新打包,再重新分发破解版。
解决方案
要想真正解决问题,除了把所有商业化逻辑做到服务端,我们还需要对代码进行加固,避免解包、篡改、二次打包、二次分发。
主流方案:
-
Uglify / Obfuscator:通过对 JS 代码进行丑化和混淆,尽可能降低其可读性。
-
Native 加密:通过 XOR 或 AES 对构建产物进行加密,封装到 Node Addon 中,并在运行时由 JS 解密。
-
ASAR 加密:将 Electron ASAR 文件进行加密,并修改 Electron 源代码,在读取 ASAR 文件之前对其解密后再运行。
-
V8 字节码: 通过 Node 标准库里的
vm
模块,可以从 script 对象中生成其缓存数据(参考)。该缓存数据可以理解为 v8 的字节码,该方案通过分发字节码的形式来达到源代码保护的目的。
方案比较:
- | Obfuscator 混淆 | Native 加密 |
---|