让JS代码难以理解/沉重到“破解”

时间:2012-11-21 21:13:35

标签: javascript obfuscation

我想写一个小游戏,用户必须在给定时间内点击出现的元素/对象。详细地说,物体出现在地面上的孔中,在x秒后物体消失。游戏玩家有生命,所有点击都会被计算,直到他输掉比赛。 之后,他的高分将被发布到数据库(通过表格或AJAX)。长话短说如何避免用户在发送之前伪造他的高分?程序语言是JS。

我知道不可能隐藏所有代码并使其无法破解。但是我认为如果代码非常困难,用户必须做很多工作来了解他必须干预以发送伪造数据的位置,这就足够了。

有没有人想过如何使代码尽可能困难?

提前感谢任何想法:)

3 个答案:

答案 0 :(得分:0)

您永远不应该尝试使源代码不可读。对任何修改它的人来说,这对你自己来说都是一件令人头痛的问题。

也就是说,您可以重构所有变量名称以完成乱码并使用空格,但任何认真尝试理解您的代码的人都可以在一个体面的文本编辑器中恢复它。使它变得更复杂会损害程序的效率 - 否则你可以用无用的函数来填充它,这些函数不做任何事情,并且程序不依赖于计数器的奇怪增量。

答案 1 :(得分:0)

有压缩机可以完成您想要的工作!其中一些可以下载并用作离线工具,有些可以直接通过网络访问:

http://javascriptcompressor.com

就像jquery和其他人一样,你可以使用你的代码来维护脚本并提供一个难以读取的更快的可加载打包版本

答案 2 :(得分:0)

这个怎么样:

创建两个PHP页面,其中一个包含游戏界面,另一个包含游戏代码。对第一个进行编程,以便它创建一次性使用的字符串,当标记从第二个调用JS代码时,该字符串将作为参数传递。对第二个进行编程,以便检查发送的字符串的有效性。如果字符串有效,则脚本应输出JS代码,然后使字符串无效。

然后,当用户复制脚本的URL时,将其粘贴到他的浏览器中,并点击" Return,"他所看到的只是一个空白页面或未经授权的"消息。