如何防止So File黑客入侵So File

时间:2018-11-12 08:53:47

标签: unity3d dump il2cpp

在我的应用程序(unity5,il2cpp构建)中,有一个类似的功能

“ GetScore()”

不幸的是,我在黑市中发现了我的应用程序的被黑版本。被黑客入侵的版本的“ GetScore()”函数始终返回100。原始返回值必须小于10。

我猜想这个被黑客入侵的应用是通过使用'il2cppDumper'并将其返回值更改为100来重新包装的;

有什么办法可以防止此问题?

2 个答案:

答案 0 :(得分:0)

安全性始终是使黑客更难的问题-您永远不可能使他们无法篡改。

所以这里有一些想法:

  • 迷惑:GetScore()得到BananaJungle()-黑客在不花几个小时的时间(不希望逐步浏览源代码的情况下)无法找到正确的功能
  • 在多个点上验证分数:调用GetScore()的函数应进行完整性检查:“它是否低于10?”
  • 此外:您可能想忽略10分以上的分数,以欺骗成功的黑客。您可以在2个小时左右后锁定该应用。
  • 在记录得分历史记录的位置添加一个ScoreLogger,因此getScore()可能会返回<10,但有人可能会将代码中的得分覆盖到999999。ScoreLogger将检查得分历史记录,以查看跳跃等。 li>
  • 通过总播放时间验证分数(大约)

答案 1 :(得分:0)

即使它确实具有支持服务器,也永远不会阻止黑客入侵您的游戏。只要看看所有非官方的魔兽服务器世界。如果您拥有服务器,则可以使事情保持相对安全,可以确保其源代码安全,并且没有服务器就没有任何意义(请考虑没有多人游戏功能的Dota 2 ...)。即使这样,您也无法真正验证玩家的一举一动,除非它是基于回合的游戏,并且您实际上将每一步发送给服务器以进行处理(例如,这在《炉石传说》中有效,但在《魔兽世界》中无效,因此所有反作弊工具)。 EA无法做到,Rockstar无法做到,Activision无法做到,即使强大的Denuvo也无法做到,您当然也无法做到。

但是,您应该停下来问自己为什么,您希望自己的游戏如此安全。在您停止的每1000个作弊者中,也许实际上会支付一两个。您应该在安全性上付出一定的努力(听取KYL3R的建议),只是为了让诚实的人诚实。不诚实的人总会找到方法,所以不必担心他们,以至于浪费时间在(无用的)安全性上。时间可以花在改善游戏上。

哦,顺便说一句,这也是阻止黑客进入的一种方法:频繁更新游戏。他们没有生命,但是他们没有足够的时间每周制作市场上每款游戏的黑版。