如果你的Unity项目快上线了,我强烈建议你看一下Anti-Cheat这个插件。因为IOS和Android分别越狱和Root后玩家可以使用 @八门神器 @烧饼修改器 等一些列作弊的软件来修改游戏内存,还有游戏的变速齿轮外挂。(点击大图查看详情)
Anti-Cheat 插件有4大功能
1.把内存数值隐藏起来
典型的就是人物的属性,比如攻击力呀 防御力什么的,主要是界面上显示了它的属性,如果不保护这块内存,那么玩家很容易修改的。Anti-Cheat 把int float long 等 典型数据类型又做了一次封装。赋值的时候它做了一次加密,那么内存中记录的就是加密后的数据,当游戏中要使用的时候在进行一次解密,那么这样玩家就找不到修改的内存了。
2.把游戏存档保存起来
一般本地的游戏存档我们用PlayerPrefs写入,但是写入的数据是很容易破解的。所以同样的它帮我们做了一个加密和解密的工作。
3.监听变速齿轮外挂
它可以监听到应用程序变速后的事件,它的原理就是监听应用程序的Tick 如果发现变速就会抛出一个事件出来。但是我遇到了一个问题,就是我发现它抛出的事件不准。我当时使用的是root后的红米来做测试,手机上装了烧饼修改器。我把游戏速度调成了20倍,可是它有时候能监听到,有时候又监听不到,不知道为什么,这里求大神一起来讨论。。。
4.监听游戏中是否使用了非法的dll
一般你的程序编译完以后 代码都会变成dll 。有可能有玩家作弊使用第三方的dll,Anti-Cheat 可以帮你找出来。抛出一个事件,让你自己来处理。
Anti-Cheat 是一个收费的插件,不过网上一大堆破解版,大伙可以下载看来看看。 原理挺简单的。。道高一尺魔高一丈,防君子不防小人吧,呵呵。