我有一个电子应用程序打包到一个asar文件中。然而,几乎到处都提到这种格式根本没有安全性。每个人都可以用
npx asar extract app.asar destfolder
和访问源代码+资源文件(证书,图像,音频,一切)。
这意味着从技术上讲,一个人可以随心所欲地篡改代码和资源文件,并使用不需要的代码创建虚假的构建。
我想保护我的电子应用程序不被Linux用户篡改。有什么办法吗?
你不能。你只能尝试使用webpack之类的打包器或其他工具来缩小/丑陋/模糊你的代码,以使其更难阅读。但是使用你的电子应用程序的人仍然可以访问整个代码。
所以不要在电子应用程序中存储密码或私有api密钥/令牌等秘密。
确保你用来打包应用的工具(electron-builder或electron-forge)没有打包你不想包含在app.asar中的项目文件。默认情况下,这些工具只是把你的整个项目放在app.asar.
来控制app.asar中的文件,检查这些链接:
- electron-builder
- https://www.electron.build/configuration/contents
- electron-forge
- https://www.electronforge.io/templates/webpack-template
- https://www.electronforge.io/config/plugins/webpack
- https://electron.github.io/electron-packager/main/interfaces/electronpackager.options.html#ignore(小心:被electron-forge webpack-plugin 覆盖)