游戏公司检测辅助那些事
绝世美人儿
960次浏览
2020年07月31日 22:06
最佳经验
本文由作者推荐
汉字七体-乍然
先说外挂的种类,大家都知道了,脱机挂(封包挂),内存挂(调用游戏内功能,篡改游戏数据),模拟挂(模拟键盘鼠标代替人工操作)
先说封包挂,这种挂我本身了解不是很多,我所知道的是游戏现在都会对封包加密,还会有呼吸包验证,所谓呼吸包就是每隔一段时间客户端发送封包和服务器验证,如果收不到就断开和服务器的所有连接,同样的服务器一定时间内收不到呼吸包也会断开客户端,所以现在的封包挂如果不能处理呼吸包就不能完成脱机。
再说内存挂,内存挂主要是对游戏数据进行验证,比如伤害,移动速度,血量等等,打个比方,就说以前很流行的变速齿轮,早些年游戏没有验证的时候几乎是想要跑多快跑多快,现在都被和谐了,和谐的方式也非常简单,计算人物速度,再取人物的一个坐标到另一个坐标距离,这其中有一定偏差,如果差距超过设定的额度那么就可以判定玩家在使用加速工具。伤害,血值,都类似,任何数据都有算法来计算是否超过了预期最大值。
或者你可以说,我是工作室啊,我不需要那些变态的功能只要能模拟普通玩家就可以了,接下来先不说模拟,先说游戏辅助的原理,游戏辅助要想模拟人工操作它需要获取游戏内的数据,比如我血量低于多少时吃药,这就要获取血值数据,再比如我要打怪就要知道怪物在内存中的数据是什么,然后才能去攻击这个怪物,这不是重点,重点是获取游戏数据的方法,无非就是注入DLL模块到游戏里面,或者远程打开游戏进程读取数据,另外我之前写的帖子里说到过驱动层读写,DLL注入的方式游戏要想检测到是非常非常容易的,比如说你自己身上无言无辜多了一件衣服你怎么可能不知道,然后应对DLL检测延伸出的隐藏DLL模块手段也是多种多样,有些真的已经达到了很好的地步,但是任何方式理论上都是可以检测到的,因为即便是眼睛看不到,但手是可以摸到的,DLL模块的代码始终在游戏内存中。再说说远程读写内存,这种方式要调用系统提供的API函数,要知道这些函数在系统底层是所有进程共同使用的,所以游戏可以挂钩这些函数,只要发现要读写的进程是游戏进程,判定有外挂断线,或者直接返回函数,这样就得不到数据了。另外驱动读写对某游戏来说已经不安全了,今天我才知道有的工作室在用的驱动挂也被检测到了。
再说模拟挂,模拟挂大部分都要基于内存挂来开发一定功能这里直说检测模拟,模拟挂检测其实就是挂钩内核,原理很简单了,所有的键盘数据都要通过系统内核发送到用
户的软件窗口,模拟无非是模拟一个发送给窗口的消息,如果游戏发现键盘或者鼠标消息没有经过系统内核而是直接到了游戏窗口肯定就是模拟无误,可以直接让游戏忽略这个消息或者断线,那些都是看游戏运营商怎么处理了。
说了这么多再来说说国内网游目前对游戏保护的状况吧,大部分游戏使用国外的商业反外挂程序,如NP,HP,HS,这些都是很强的驱动级反外挂程序,保护强度目前来说可以说是很强,主要还是防止游戏注入还有键盘模拟。而我们的大腾讯公司则是自己研究的TP保护程序,说实话这玩意最初的时候像个小丑,轻而易举就能过掉他,但是大家也知道腾讯游戏几乎是国内玩家最多的,工作室也是蜂拥而至,导致的状况就是腾讯不断升级,作者不断再去研究怎么破解,发展到现在大家都看到了,曾经让许多名不见经传的工作室两三年爆发成几千台机器大型工作室的地下城,现在几乎成了一个最难做的游戏,各种门槛把刚入门的作者、工作室统统挡在门外。即便是入行时间很久的也有很多因为一次又一次升级放弃这款游戏。
另外使用国外游戏保护的百分之八十是大公司的热门游戏,原因很简单了,有足够的盈利运营商才有会去考虑平衡型,运营商是彻头彻尾的商人。
说到这里我想大家也都明白了,如果你是一名作者,自己大致评估下自己能力,能不能去对抗那些有保护的游戏,不能暂时就不要去做,先从容易入手的开始。如果你是做工作室的,如果没有技术过硬的写手专门为你写内部,也慎重考虑一下那些热门的游戏,我不是说不赚钱,热门游戏肯定赚钱,但是门槛你要能迈过去才能赚到钱。
写这么多也不知道有没有人看,如果耐心看了,不妨回复一下让我知道大家喜欢我写的东西,以后也好多发点帖子。