首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript源代码加密对混淆有用吗?

JavaScript源代码加密对混淆有用吗?
EN

Stack Overflow用户
提问于 2013-05-05 04:04:21
回答 2查看 686关注 0票数 2

我正在考虑在JavaScript上创建一个公共社交网站(yourworldoftext.com)和我的迷你游戏,我是这个网站的用户,我将把我的JavaScript嵌入到一个链接的href中,其他人可以点击这个链接来启动游戏。

我想的一种方法是这样的

  1. 尽可能压缩/混淆JavaScript
  2. 将JavaScript加密为一个扫描,并用一个小的解密JavaScript包装所有内容,这将计算解密的字符串(解密的密钥将使用AJAX从同一站点上的其他页面检索)

以下是我的动机:

  1. 人们都应该使用相同版本的游戏,作弊也不容易。
  2. 源代码所包含的黑客对像我这样的JavaScript开发人员来说可能很容易编写,但是这些代码可能会被复制、粘贴和误用来垃圾邮件站点。
  3. 消息灵通的垃圾邮件发送者可以在网上找到任意数量的免费脚本,我只是不希望它从我的脚本中释放出来。
  4. 我希望任何人都能在没有任何隐藏秘密的情况下运行这个应用程序(这会使脚本公开变得毫无意义,因为那时我只会分享我信任的游戏--让脚本本身成为秘密)。

不要误解我,我知道绝对没有办法确保JavaScript背后的源代码不会为知情/智能的用户所用,我只是在轮询看这是否是徒劳的练习,我甚至不应该费心于额外的加密步骤,或者是否有人认为这种技术有一些优点。

我倾向于认为,这可能会阻碍普通用户,我只是不确定需要多少知识才能打破它,如果偶然的社交网络用户可以打破它。

另外,我怀疑firebug、developer tools、web检查器会显示评估的代码,但我不确定。如果是这样的话,那么它根本不会采取任何措施来保护它。网站上的大多数用户都使用chrome (据我所知,因为它在该浏览器上工作得最好)。那么,chrome会在网页检查器中很容易地显示出来吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-05 04:51:55

正如您所描述的,缩小、混淆和加密都是阻碍人们处理代码的小障碍。每一个微小的障碍都会阻止少数可能成为黑客的人。但是,这三个人中没有一个能阻止这位坚定的黑客。

要绕过加密,所要做的就是在调试器中设置一个断点,并在代码被解密后立即捕获它,然后将其发送到eval,然后从调试器复制/粘贴。所以,它甚至都没能减缓这位坚定的黑客。事实上,小型化(将所有有意义的变量名称替换为无意义的短名称实际上为黑客在理解代码方面创造了更多的工作)。

就我个人而言,我会避免加密,因为它并没有真正增加太多,而且对于坚定的黑客来说,这是非常容易的。

票数 3
EN

Stack Overflow用户

发布于 2013-05-05 04:09:42

你说得对,这是徒劳的。别为这事操心。您的代码,虽然被缩小和混淆,但可以解除用户的知识不多。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16381282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档