我即将开始创建一个基于Windows的实用程序应用程序来管理本地化的expressjs服务器,该服务器将利用基于Windows的图形应用程序来管理此服务的某些功能然而,在我开始之前,我想和社区谈谈,试图获得一些关于如何正确保护代码的建议,因为它都是Node.js蜜蜂,我需要确保它受到保护,我最初在网上读到的一些内容似乎表明,使用电子不是最安全的,你们是如何处理这个问题来保持Node的。js这些代码受电子保护,在我的情况下在Windows环境下。
a0x5cqrl1#
你可以这样做,但这不值得你这么做,只要把你的源代码打包成一个asar文件,它会让大多数人远离它。长回答:
asar
否则,你的文件是脚本,所有这些步骤只会减慢攻击者的速度(许多防御策略),但它们不会阻止他们访问它们。devTools相当容易被打开,人们将能够以某种方式,形状或形式读取代码。如果有人得到你的混淆代码,很容易重建发生了什么(请参阅此处以供参考:https://www.youtube.com/watch?v=y6Uzinz3DRU)如果你想保护自己免受代码操纵,有更好的方法可以做到这一点,如哈希,上下文隔离等。https://github.com/electron/electron/blob/master/docs/tutorial/security.md
小更新(2020):
几周前我看过这个库,认为它会展示一种很好的方法来进一步模糊代码,防止外部方读取https://github.com/OsamaAbbas/bytenode基本的想法是将JS编译成V8的字节码。这对Electron来说非常好,并且绝对是一个不是每个人都能克服的障碍。但是,这不会保护您的代码被转换回可读的JS。这只是另一层保护,使其变得更加困难。
1条答案
按热度按时间a0x5cqrl1#
你可以这样做,但这不值得你这么做,只要把你的源代码打包成一个
asar
文件,它会让大多数人远离它。长回答:
asar
选项。否则,你的文件是脚本,所有这些步骤只会减慢攻击者的速度(许多防御策略),但它们不会阻止他们访问它们。devTools相当容易被打开,人们将能够以某种方式,形状或形式读取代码。如果有人得到你的混淆代码,很容易重建发生了什么(请参阅此处以供参考:https://www.youtube.com/watch?v=y6Uzinz3DRU)
如果你想保护自己免受代码操纵,有更好的方法可以做到这一点,如哈希,上下文隔离等。
https://github.com/electron/electron/blob/master/docs/tutorial/security.md
小更新(2020):
几周前我看过这个库,认为它会展示一种很好的方法来进一步模糊代码,防止外部方读取
https://github.com/OsamaAbbas/bytenode
基本的想法是将JS编译成V8的字节码。这对Electron来说非常好,并且绝对是一个不是每个人都能克服的障碍。但是,这不会保护您的代码被转换回可读的JS。这只是另一层保护,使其变得更加困难。