11

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

官方文档说:

为了保护您的应用程序的资源和源代码不被用户使用,您可以选择将您的应用程序打包到一个 asar 存档中,而对您的源代码进行少量更改。

到目前为止,我能想到的最好的方法是将源代码丑化并将其打包成一个asar文件,但asar文件只是一个存档,可以轻松提取。我不明白这如何使您的代码“不受用户影响”

有任何想法吗 ?

4

2 回答 2

4

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

于 2015-05-13T04:13:14.077 回答
3

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

考虑这种情况;

电子系统和 asar 文件格式的作者实现了类似于受密码保护的 zip 的加密,并让您能够在编译时指定存档密码,以便它“安全”存储在 .exe 中,而 asar 文件可以“没有它就可以打开/阅读。

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

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

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

于 2016-09-16T19:34:53.337 回答