electron项目中如何保护源代码

How to protect source code in electron project

我构建了我的第一个电子应用程序,但现在我想知道如何保护源代码以供其他开发人员查看。

官方文档说:

To protect your app's resources and source code from the users, you can choose to package your app into an asar archive with little changes to your source code.

到目前为止我能想到的最好的是 uglyfy 源代码并将其打包到 asar 文件中,但是 asar 文件只是一个存档文件,可以轻松提取。我不明白如何让你的代码 "protected from the user"

有什么想法吗?

目前没有正式的方法来保护您的代码,抱歉 - 如果您想这样做,您将不得不发明自己的方法(或者不用担心)

完全保护代码是不可能的,无论您如何打包它,为了使它 运行 它必须可访问和解密,这意味着密钥必须存储在本地。

考虑这种情况;

electron 系统和 asar 文件格式的作者实现了类似于密码保护 zip 的加密,并使您能够在编译时指定存档密码,以便 'safely' 存储在 . exe 和 asar 文件不能 opened/read 没有它。

黑客仍然可以通过使用一些测试密钥(例如 AAAA 和 AAAB)自己编译 electron 来找出密钥,然后比较生成的二进制文件以确定密钥字符串在其中的位置。一旦他们知道如何从 exe 中提取密钥,游戏就结束了。

我想你能做的最强保护是如果你自己修改电子源代码来存储和检索密钥,但即使这样攻击者也可以反编译代码,将其与反编译的标准电子版本进行比较,图找出你的代码修改从哪里开始并对它进行逆向工程,直到他们弄清楚你是如何存储密钥的。

同样,一旦他们拿到钥匙,游戏就结束了,为了让电子 运行 它必须能够读取任何代码,这意味着它必须有本地可用的钥匙。第 22 条。