Pol*_*yov 5 javascript obfuscation
所以我正在用JavaScript编写一个游戏,最大的问题是,无论是谁,谁都可以拥有相当的JS知识,可以打开我的源代码,弄清楚它是如何工作的,然后插入game.score = 100000000000000;控制台.但是,似乎除了混淆脚本之外,将所有内容包装在匿名函数中都可以解决问题.
(function() {
game_start = function() {
//etc
}
//etc
})();
Run Code Online (Sandbox Code Playgroud)
当我尝试运行Chrome控制台中的任何代码时,它就会出现undefined.这是理想的结果,但是我的方法有没有办法让它变得无用?或者甚至是更好的方法来阻止从控制台运行的东西?
没有办法确保这个人不会作弊。即使代码严重混淆(我说的是类似的东西H5b(b){if(b.pd()&&b.Ca&&b.gKa){var a=b.ra(RT.Nwa)),您仍然可以观察 UI 更改或网络请求并从那里跟踪它。
有些人使用 AJAX 调用来验证分数,例如每次分数增加/减少时,应用程序都会向后端发出 AJAX 调用,您也可以在后端跟踪分数。当用户提交最终分数时,您将其与后端分数进行检查,如果不同,那么您就会知道该人作弊。
然而,这不会阻止人们编写一个脚本来进行这些 ajax 调用,这样就可以使其分数有效。
tl;dr:不,没有办法确保用户端代码不被泄露。