作弊和反作弊之间的精彩游戏

绝地求生自从推出以来,作弊一直是一个挥之不去的噩梦,折磨着蓝洞和大量的绿色玩家。作为一个已经在维修站呆了相当长时间的新手,他的内心一直渴望有一天游戏可以在没有插件的情况下进行。他所有的对手都很可爱。然而,直到我昨天在巴拉巴拉车站看到老大哥硬核狗的视频后,我才意识到插件不会消失,而孟新却少杀了一个。

作为一款FPS游戏,外挂对游戏体验的伤害非常大。具体如锁、透视、穿墙、无反冲等。

那么为什么FPS游戏总是被禁止呢?游戏公司不愿意和骗子斗争吗?

不幸的是,事实是,如果把反调试能力和法律方面放在一边,从逻辑上讲,FPS类型的游戏没有办法处理锁定自动瞄准的欺骗类型。

这与游戏制造商或伪造者(外部作者)哪一方拥有更强的技术力量无关,这是由游戏的逻辑决定的。

例如,在绝地求生中,这样的场景每天都在发生:

在游戏中,你找到一个敌人,瞄准他,开枪射击,然后敌人被击中。

在你找到敌人之前,游戏服务器已经把你周围的敌人信息发送给你的客户。此时,你的游戏客户端的内存中有以下数据:你周围有多少敌人,每个敌人的坐标是多少,以及敌人的信息,包括皮肤、武器等。

当你找到他时,拖动鼠标瞄准。此时,客户端将向服务器报告您的操作,即在每一帧中将鼠标从起点移动到移动的位置。通常它会被分割成每秒3~10个数据包,这些数据包会在关键帧被收集后被发送到服务器。然后,服务器会将这些不同的曲目与周围的其他玩家同步。其他玩家的客户端会根据关键帧信息自动填写中间动作差异,然后画出人物的动作。

之后,当您按下鼠标时,客户端将根据您当前持有的武器从内存或配置文件中提取该武器的后坐力属性,然后将后坐力属性参与您开火时镜头抖动的偏移量计算,然后将您每次开火时的镜头方位和后坐力偏移量发送给服务器,服务器将根据这些数据做出命中判定。

每个武器的配置文件都存储在这个位置。

当然,这些文件现在是加密存储的,并且在客户端启动后将被解密,这就是为什么人们经常听到“没有后座力”的说法。原因是插件修改了记忆中枪的后坐力,使后坐力偏移为0,这自然意味着没有后坐力。

当然,这是一个相当愚蠢的方法。服务器很容易检测到您发送的点火坐标是一个没有任何偏差的点。因此.你被班弄丢了。

因此,插件通常会做一些微小的偏移调整来掩盖正常的用户行为。当制造商发现用外挂物伪装后坐力的方法时,他修改了后坐力的算法。

后坐力分为X轴偏差和Y轴偏差。为了保持正常用户的手感觉一致,制造商不会经常改变后坐力的Y轴偏差值,即枪口的向上偏差。然而,为了防止外挂物,后坐力将在小范围内从左向右随机移动。

在每个游戏开始时,游戏制造商向客户广播一个随机种子,以确定游戏中每个枪产生的随机反冲。当你的硬件鼠标产生的位置偏移和武器的随机偏移值最终不匹配时,可能是外国通过记忆的形式改变了你的实际瞄准位置,从而被判断为外挂。

然而,道路的高度要高一英尺,魔法也要高一英尺。在插件作者发现他们的插件密封率增加后,他们也升级了他们的方法,将瞄准镜头——从写入内存改为使用硬件驱动程序来模拟第二个鼠标轨迹,以确保上传的硬件数据与真实的播放器一致,同时他们可以达到锁定头部的目的。

我们经常看到一些骗子在游戏中没有瞄准头部,但是不管他朝哪个方向射击,结果都是一枪爆头。这不是锁。

目前,为了在FPS游戏中追求真实,子弹被单独实例化:这些包括坠落、子弹速度等。为了达到更真实的效果。为了节省服务器的资源,子弹的轨迹通常由客户端的物理引擎模拟,然后报告。

如果外挂物干扰了子弹的轨迹,也就是说,不管子弹飞得如何,最终一个坐标点被固定在目标头部,你就会看到刚才描述的效果。就像所谓的壁挂、魔法子弹等。事实上,是修改了子弹的轨迹,并没有骗枪瞄准。

总而言之,不管是锁还是子弹,都有一些作弊的方法。无论服务器判断是否命中,它都不能阻止外部插件——。根本原因是瞄准动作是由客户端发送的。在插件的支持下,客户端告诉服务器“我击中了目标的头部”

服务器如何判断我是一个真正的职业玩家还是一个电脑玩家?

目前绝地求生还有一个流行的外挂叫雷达悬挂。它不会以任何形式修改游戏本身的内存,但通过分析客户端和服务器之间的通信数据包,它会在另一个屏幕上显示周围的敌人和资源,甚至可以是手机或IPAD。

其原理是在客户机和服务器之间添加一个代理程序,通过转发客户机和服务器之间的通信来获取信息。这在业界被称为“中间人攻击”。

游戏的客户端和服务器端需要网络通信。早年绝地求生年),蓝洞还很年轻。游戏客户端和服务器之间的数据包没有加密,使用纯文本通信。很快“热情”的网民分析并公布了通讯协议。当然,目前的蓝洞已经加密了通讯协议。

所谓的加密通信协议相当于在将数据包发送到服务器之前对其进行加密,在到达服务器之后对其进行解密,然后对其进行相应的处理。反馈给客户端的数据包也是一样的,服务器在发送给客户端之前对其进行加密。

每个用户和服务器通信的加密密钥不同,每个游戏的加密方法也不同。一般来说,在每个游戏开始时,密钥在客户端和服务器之间通信的前几个包中交换,加密方法基本上采用类似Aes的可逆加密。

但是仅仅加密通信协议就能阻止插件开发人员吗?他们太天真了。

插件作者擅长的作者是反汇编的空域。他们通过二进制反转进入反汇编的空域,找到密钥加密和解密函数,分析加密和解密函数对数据的操作,然后将相同的逻辑放入上述中间人雷达程序中。

因为分析、加密和解密所需的反向和注入操作是在前阶段完成的。在真实的游戏运行过程中,雷达程序不需要修改内存,所以雷达插件更加隐蔽,不注入游戏本身,也不读取游戏的内存,所以从数据层面看似乎没有问题。

这是游戏制造商另一个头疼的问题,因为中间人雷达程序看起来就像一个传统的加速器。我们应该知道,我们使用的加速器也使用数据包的转发来实现加速效果。

如何区分加速器和雷达?在发现雷达标签也有加密和解密功能后,游戏制造商提供了一个杀手——隐藏桩。

所谓的“黑堆”是因为服务器不时发送一个奇怪的数据包。这个数据包的内容和意义与当前的游戏逻辑无关。数据分组加密和解密方法也与之前的传统数据分组加密和解密不一致,同时,数据分组识别客户端应该使用哪组密钥来回复服务器。

由于普通加速器在中间不执行加密和解密操作,它们只是转发它们,而雷达挂钩在中间执行Sao操作。

当这一堆黑暗的东西被发送下来时,雷达不知道如何解密,所以它肯定是原封不动地发送给客户的。客户端在收到包后知道它的真正含义,所以它将另一个包返回给服务器,并通知服务器在序列号之后更新数据包的密钥。

双方这次已经得到了他们想要的信息,而雷达就挂在中间,只关心游戏数据的销毁,不知道黑暗势力已经同意了什么。

蓝洞也是一个偷鸡贼。它不会当场禁止作弊者,而是会记录作弊者的身份,所以经过一段时间——突然大量的C同时掉了下来(这就是我们常说的追作弊者)。

外部作者不得不硬着头皮开始插入暗桩,几天后,大量的雷达挂钩又上线了。

一切似乎都回到了原点.

如果没有逻辑方法来阻止锁定插件,那么透视插件可以被限制在游戏的逻辑级别吗?

答案是肯定的。所谓的透视插件是指你原本不应该看到的敌人通过插件服务器发回的数据显示在你的屏幕上。

我想知道你有没有想过为什么MOBA游戏的视角插件,比如DOTA2或者LOL,非常罕见。

事实上,这并不难想,因为服务器在广播你的敌人信息时做了一个小的处理,只有你视野中的敌人服务器才会广播给你的客户端,你不需要在战争的迷雾中看到那些单位,客户端也不需要渲染,自然没有必要把它发送给你。该算法被称为“遮挡剔除消除算法”。

由于MOBA游戏的特点,特别是高度轴的存在可以忽略,消除算法可以很容易地解决使用2D几何平面找出一个点是否在一个圆形范围内。

通常的MOBA游戏每个游戏有10个玩家,每个框架服务器在没有任何压力的情况下运行2D剔除算法10次。3D FPS游戏怎么样?

3D世界中的剔除算法实际上并不难编写:从玩家的当前视野向光线未被阻挡的方向发射光线,然后从当前视野看不到的所有对象和单元被剔除,并且不向客户端广播。

这实际上是一个非常成熟的算法,也称为锥算法:我会告诉你你能看到什么,我会把你看不到的从内存中删除。

这与MOBA游戏中的战争迷雾一致,通常用于优化客户端渲染的帧数。在客户端上每秒运行60次这样的算法实际上完全没有问题,毕竟客户端通常只需要计算自己的主导角色。

如果将该算法放在服务器端,计算量会增长到多少?

在一个有100名玩家的小鸡游戏中,服务器不仅需要计算每帧100名玩家的视觉单位,还需要达到这个效果。最糟糕的是,服务器必须实时掌握每个人镜头的运行方向,并随着角色的移动和视角的改变重新计算剔除算法。

根据每秒60次操作的情况,如果一个游戏中有100个玩家,那么单个服务器每秒需要的操作量是60*100=6000。同时,服务器必须每秒60次为每个客户机做同步信息——,也就是说,服务器将在计算完成后将其发送给客户机。

这显然造成了网络带宽和服务器计算资源的极大浪费。没有制造商愿意使用这种算法在服务器上运行来防止外部插件。Caton造成的巨大资源消耗和可能的延迟使得该方案的投入产出比过低。

了解了这个原因之后,基本上所有的厂商都会转移反外挂的焦点,从实时反外挂开始,在时间线上向后存放——,也就是说,在游戏结束后根据LOG分析当前的游戏。

坦率地说,统计方法被用来设置各种阈值,例如每场游戏的平均杀人数量,以进行现场检查:例如,如果发现玩家在某场游戏中杀了太多人,日志分析工具将被激活,然后关注玩家在各种行为中是否异常,进一步分析玩家的平均移动速度、反冲、鼠标轨迹等。在这场比赛中,终于赶上了揭幕战。

这对于需要CDK的游戏来说可能是有用的,增加了开放成本。但对于那些免费的吃鸡肉游戏,如APEX或COD16,开拍成本相当低。(每个人都保护自己的STEAM账户)如果插件不受控制,这些游戏的受欢迎程度将会迅速下降。

一些朋友会说,“为什么企鹅游戏的插件越来越少?”如前所述,除了反调试日志分析的技术手段,还有一个强大的武器——法则。

企鹅爸爸毫不留情地抓住了插件作者。

因此,经过几年的洗礼,插件作者有一个不成文的规则,即企鹅游戏不应该被尽可能多的接触。虽然有人说企鹅腾讯保护只需要6000元就可以在黑市上买到钥匙,但是谁敢在市场上大张旗鼓地卖企鹅插件呢?因此,这并不是腾讯强大的反调试能力,而是外部的作家特别顺从他们的内心.

制造商和外部作者之间的游戏从来没有停止过……也许只有当国家服务机构上线并举起法律盾牌时,这场战斗才会逐渐平息。

再见。