gpt4 book ai didi

javascript - JavaScript 源码加密对混淆有用吗?

转载 作者:行者123 更新时间:2023-11-29 19:54:37 24 4
gpt4 key购买 nike

我正在考虑用 JavaScript 创建一个公共(public)社交网站 (yourworldoftext.com) 的迷你游戏,我有一个想法,我是该网站的用户,并且会将我的 JavaScript 嵌入到其他人可以点击的链接的 href 中开始游戏。

我正在考虑的一种方式是这样的

  1. 尽可能压缩/混淆 JavaScript
  2. 将 JavaScript 加密成一个 string,并用一个小的解密 JavaScript 包装所有内容,该 JavaScript 将评估解密的字符串(解密的 key 将使用 AJAX 从同一站点上的其他页面检索)

这是我的动机:

  1. 人们应该都使用相同版本的游戏,作弊并非易事
  2. 源代码包含黑客攻击,对于像我这样的 JavaScript 开发人员来说可能很容易编写,但代码可能会被复制粘贴并被滥用以向网站发送垃圾邮件
  3. 消息灵通的垃圾邮件发送者可以在网上找到任意数量的免费脚本,我只是不希望它从我的脚本中消失
  4. 我希望任何人都能够在没有任何隐藏 secret 的情况下运行该应用程序(这会使脚本公开可用变得毫无意义,因为那样我就只会与我信任的人分享游戏,使脚本本身成为 secret )<

不要误解我,我知道绝对没有办法确保 JavaScript 背后的源代码不会被知情/智能用户使用,我只是在轮询,看看这是否是徒劳的,并且我什至不应该为额外的加密步骤而烦恼,或者如果有人认为这种技术有一些优点的话。

我倾向于相信它可能会阻碍临时用户,我只是不确定需要多少知识才能破解它,如果临时社交网络用户可能会破解它的话。

此外,我怀疑 Firebug 、开发人员工具、网络检查器无论如何都会显示评估后的代码,但我不确定。如果是这样,那么它根本不会做任何事情来保护它。该网站上的大多数用户都使用 chrome(据我所知,因为它在该浏览器上效果最好)。那么 chrome 会很容易地在网络检查器中显示它吗?

最佳答案

正如您所描述的那样,缩小、混淆和加密都是阻碍人们修改您的代码的小障碍。每个小障碍都会阻止一小部分潜在的黑客。但是,这三者都不会阻止坚定的黑客。

要绕过加密,只需在调试器中设置一个断点,并在解密后立即捕获代码,然后再将其发送到 eval,然后将其复制/粘贴出调试器。因此,它几乎不会减慢坚定的黑客的速度。事实上,缩小(用无意义的短名称替换所有有意义的变量名称实际上为黑客理解您的代码创造了更多工作)。

就我个人而言,我会避免加密,因为它并没有真正增加多少,而且对于坚定的黑客来说真的很容易绕过。

关于javascript - JavaScript 源码加密对混淆有用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16381282/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com