如何保护Electron的源代码?

bkhjykvo  于 2023-04-27  发布在  Electron
关注(0)|答案(1)|浏览(262)

我即将开始创建一个基于Windows的实用程序应用程序来管理本地化的expressjs服务器,该服务器将利用基于Windows的图形应用程序来管理此服务的某些功能
然而,在我开始之前,我想和社区谈谈,试图获得一些关于如何正确保护代码的建议,因为它都是Node.js蜜蜂,我需要确保它受到保护,我最初在网上读到的一些内容似乎表明,使用电子不是最安全的,你们是如何处理这个问题来保持Node的。js这些代码受电子保护,在我的情况下在Windows环境下。

a0x5cqrl

a0x5cqrl1#

你可以这样做,但这不值得你这么做,只要把你的源代码打包成一个asar文件,它会让大多数人远离它。
长回答:

  • 在构建应用时使用asar选项。
  • 用丑化器使代码模糊。
  • 使用WASM
  • 语言绑定来从编译格式中获取数据
  • neonjs for Rust
  • edge-js for C#
  • N-API,NAN for C/C++

否则,你的文件是脚本,所有这些步骤只会减慢攻击者的速度(许多防御策略),但它们不会阻止他们访问它们。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。这只是另一层保护,使其变得更加困难。

相关问题