【问题标题】:How to protect source code in electron project如何保护电子项目中的源代码
【发布时间】:2015-07-21 22:21:00
【问题描述】:

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

官方文档说:

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

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

有什么想法吗?

【问题讨论】:

  • 您还需要一种方法来防止对可能显示解密源的 toString 的调用。

标签: copy-protection electron


【解决方案1】:

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

【讨论】:

  • 是的,这就是我所担心的
  • 5年后还是这样吗?
  • @MarcoNoronha 很遗憾是的
【解决方案2】:

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

考虑这种情况;

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

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

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

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

【讨论】:

    猜你喜欢
    • 2020-01-25
    • 1970-01-01
    • 2011-05-08
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多