如何防止使用Gamecih作弊?
背景
我已经遇到了很长一段时间的问题,玩家在我的Android游戏中作弊。对于一个严格的单人游戏来说,这不是一个大问题,但是由于我的游戏包含多人游戏和全球高分列表,它会导致合法玩家因为作弊者而停止玩。
他们如何作弊
作弊者为root用户使用一个名为Gamecih的应用程序。Gamecih 允许用户暂停应用,更改变量值,然后恢复应用。因此,在我的情况下,他们只是暂停游戏,将“生命值”更改为74万亿,然后在多人游戏上将废话踢出所有人。这是一个视频,展示了Gamecih是如何在水果忍者(不是我的游戏)中作弊的。
考虑的方法
- 代码模糊处理。这不起作用,因为模糊处理不会更改变量值,只会更改变量名称。这意味着作弊者仍然可以找到与其当前生命值相同的变量,然后更改该变量。
- 代码混淆 + getter & setter 值更改。这样,健康实际上并不能代表真正的健康价值。在 getter 方法中,我会做一些类似返回 health*10 的事情;在二传手中,我会做health=input/10;这当然可能更复杂。
我想要什么
可以说,考虑方法nr 2是我应该使用的,但话说回来,它并不能阻止黑客攻击,它只是使它变得更加困难。理想情况下,我想检测人们何时使用Gamecih作弊,显示一个弹出窗口说“的你,你这个讨厌的黑客”,然后关闭应用程序。我不想要依赖于服务器的解决方案,因为我希望我的玩家也能在离线时玩游戏。如果可能的话,我还想避免代码混淆。