从工作角度出发(如果从人的角度出发)

我们玩游戏,偶尔会遇到一些开挂的玩家,对我们造成了极差的游戏体验,那么,网络游戏中的外挂是怎么一回事呢?这要从网络游戏的原理开始说起 。


从工作角度出发(如果从人的角度出发)

文章插图
网络游戏原理
在现代手机网络游戏中,各个用户都是连着自己的手机客户端,每款游戏的背后,都有一个游戏后台,所有的人最后的数据,都是汇总到后台数据去 。




从工作角度出发(如果从人的角度出发)

文章插图


假如3个人在玩一个网络游戏,用户1使用了一个必杀技,手机客户端会把这个用户在什么时间什么地点使用了什么技能,封装成跟后台约定的网络协议,然后发送给后台 。后台会把这个协议转发给一起玩的其他玩家,那么其他玩家就能看到用户1使用了必杀技了 。




从工作角度出发(如果从人的角度出发)

文章插图


外挂的种类
修改内存数据,有些坏人会通过修改内存数据,从而造成数据的异常,是怎么一回事呢?我们用上述例子说明一下,假如用户使用了必杀技,造成伤害100,用户通过修改客户端,变成伤害1万,服务器把这个数据再传给其他用户,这就不得了 。




从工作角度出发(如果从人的角度出发)

文章插图


为了避免这种情况,游戏服务器一般会进行数据校验,对异常的数据进行甄别,现在,几乎每一个服务器都会做这种数据校验,大部分的数据运算都是在服务器中进行,这种修改内存的外挂手段,已经很难在大部分游戏中出现了 。




从工作角度出发(如果从人的角度出发)

文章插图


破解网络协议这种情况一般出现在手机客户端跟服务器之间的数据 。想想,如果你躲在草丛里面准备放技能,结果敌人提前知道了你在草丛中,这不是玩完了么 。一般网络游戏中,游戏后台都会把数据下发给每个客户端,包括每个人的信息,但是客户端会根据一些逻辑,例如草丛里面的敌人不展示,如果敌人截获了服务器跟手机端的通信数据,进行分析,不就可以提前知道每个人的位置了么?
为了防止这种情况,一般手机客户端跟游戏后台的数据都是通过加密的方式来实现,一般都使用RSA等非对称加密手段,每个手机客户端跟游戏后台都有不同的公钥与私钥,除非破解了客户端,不然很难拿到加密的钥匙 。
前置外挂




从工作角度出发(如果从人的角度出发)

文章插图


上述两种外挂都是发生在破解手机客户端跟游戏后台的情况下,这种外挂方式在游戏厂商加强了后台数据运算与客户端与后台的网络游戏通信协议后,是非常难做到的,而且很容易被发现与封杀 。在手机性能越来越强的情况下,这种前置外挂又开始流行起来了 。




从工作角度出发(如果从人的角度出发)

文章插图


前置外挂一般分2种,一种是使用简单的按键精灵的方式,按照一定的策略,模拟用户进行点击或者模拟用户进行压枪,常见的有自动压枪挂,另外一种,是采用计算机视觉,采用深度学习的方式,这种在枪战游戏类最为猖獗,有些高端的自动瞄准挂就是应用这一个原理 。
【从工作角度出发(如果从人的角度出发)】今天的介绍我们就讲到这里,如果你有兴趣,欢迎关注我,除了分享算法相关的,最近主要会讲一些redis的原理与应用 。近期还准备了一些AI相关的知识,整理后会和大家继续分享 。大家的支持是我继续唠嗑的动力 。同名公众号(沙茶敏碎碎念)