TGBUS CSGO专区

CSGO > 新闻资讯 > 一篇长文为你揭秘CSGO中作弊与反作弊的猫鼠游戏

一篇长文为你揭秘CSGO中作弊与反作弊的猫鼠游戏

本期导读

Valve anti cheat system =V社反作弊系统 是一种全自动化的可不断自身进化的反作弊系统.

趣吧CSGO 2017-07-14

  一、V社反作弊系统解读

  什么是VAC:

  Valve anti cheat system =V社反作弊系统 是一种全自动化的可不断自身进化的反作弊系统。

  只是开玩笑而已

  VAC系统如何检测外挂:

  首先要明确一点就是VAC不是随着steam的运行而运行,而是随着游戏的运行而运行,具体的检测手段无从得知,只能通过各种手段进行测试。几乎所有的外挂作者都认为:VAC系统是一个可以自动检测并更新的特征码库+手动添加特征码的系统。

  那什么是特征码呢?特征码是编译器从代码中生成的一个序列,不同的代码组合的序列不同

  高亮的16进制代码序列即特征码

  前面已经说不同的代码会出现不同的特征码,VAC当然不会检测全部的序列,因为这样很容易就可以避免封禁(随便改一段代码序列就变了)。它在确认内存中的这个东西是作弊程序后会随机截取一段特征码序列更新到特征码库中,之后只要再从任何一台PC中检测到同样的特征码序列就会进行VAC封禁。

  还有就是CSGO采用的起源引擎中很多调用代码都可以在CSGO中取得优势,所以如果检测到已经被VAC封禁的调用被执行后也会进行封禁。而且V社反作弊技术人员可以手动添加已确认的作弊程序特征码进这个特征码库。

  除了VAC我们还有什么?

  事实上VAC只是外挂使用者的一个门槛,我们的第二道钢铁大门就是监管系统。监管系统是通过人工审查进行封禁,监管人员由当赛季达到排位达到150胜普通玩家组成。

  游戏中的举报我们都很熟悉,但更深入的东西可能很多人不知道。为了避免滥用监管系统,每个没有被封禁的ID在6小时内只能进行一次有效举报,当一位玩家在24小时内收到了11个有效举报,那么在第十一个举报发生后,这场比赛的Demo将分发给至少8位至多11位监管人员进行共同判定是否作弊。监管会遵从疑罪从无的原则审查整场比赛Demo,当绝大多数监管都认定玩家作弊后,该玩家就会收到监管封禁。

  除此之外我们还有额外的防守大门,由于监管只工作在排位比赛中,休闲、军备竞赛等模式中还有一种封禁叫做”永久不可信”,当很多玩家举报后,会自动分析该玩家的各种数据来进行判定是否作弊,当有很大概率判定后会自动进行“永久不可信”封禁。

  二、CSGO中外挂的分类及工作方式

  外挂分类

  CSGO外挂分为内存外挂、外部外挂、脚本外挂三种。

  第一种外挂将本身注入到CSGO游戏中进行作弊、外部外挂不将本身注入到CSGO游戏中(了解较少)、脚本外挂可以进行武器的压枪+连跳等操作。

  外挂的工作方式

  由于FPS游戏对延迟的要求很高,所以并不能像MOBA类游戏一样将操作储存在服务器端,只能储存在玩家内存中,以透视来说:

  A玩家当前XYZ轴位置→服务器→分发给所有玩家→通过该B玩家XYZ轴位置确定是否显示A玩家模型

  而外挂直接将服务器分发下来的各玩家位置直接通过绘图显示给作弊者,这就是透视。

  微自瞄就更简单了,已经读取到玩家位置了,直接把作弊玩家的准心拉到那个位置上就OK了。

  再说一下津津乐道的大陀螺和小陀螺的事情。

  什么是小陀螺?

  CSGO外挂有自动瞄准功能,如果你将Fov(视角范围)调整到最大或者接近90度,那么如果在视角90度范围内出现敌人,外挂会自动瞄准爆头,在外观上看就是突然一下扭头爆头,你们把这个东西叫做小陀螺,事实上只是自瞄参数开的很高而已。

  那么大陀螺又是什么东西?

  我们都知道既然有外挂这种东西那么两个外挂的使用者就可能会碰到一起,如果碰到一起肯定谁都想赢,所以就出现了一种反自瞄的功能。这种功能基本上原理就是不断地修改angle,让对面的自瞄外挂没办法去捕获你的angle值从而瞄准你。

  从画面上看,外挂不断改变angle就会让你的游戏人物身体不停的抖动,不同的反自瞄方式有不同的Angle改变方法,所以可能不太一样,最让游戏玩家津津乐道的就是不断地转圈的一种反自瞄方法Jitter(看起来牛逼一点),你们称为大陀螺。

  当然由于不可能对面开反自瞄,我也开反自瞄那我们谁也打不中谁,有需求就有钱,有钱外挂作者就有动力,所以有了解析器,可以解析到开启反自瞄功能的外挂用户真身。新的反自瞄类型与新的解析器又是一个猫鼠游戏。

  三、外挂如何防止检测

  首先最典型的就是内存外挂,VAC大概也就只能针对这种外挂,因为涉及到用户隐私,VAC系统只能扫描CSGO游戏本身内存,可不像腾讯反作弊一样扫描你的硬盘文件跟其他进程。

  刚才已经说到,VAC是一个大型的可自动更新的特征码库,那么外挂被检测之后,就可以通过修改代码的方式来进行修改自身特征码,这样摇身一变对于VAC来说就变成了一个全新的、未知的程序。VAC就需要一段时间来识别这个新的程序是不是作弊程序,识别成功后再次将他放在特征码库中。

  还有就是外部外挂,此类外挂并不注入到游戏进程中,而是监听CSGO的内存来进行操作,具体方式并不清楚.VAC系统对于此类外挂毫无办法,只能通过手工添加的方式来进行封禁,但是此类外挂编写复杂并且功能一般很弱,大部分只能做到透视功能,少部分可以做到自动瞄准,像大陀螺小陀螺这种基本不能实现,对于游戏本身危害并不是太大。

  最后说说脚本外挂,这个外挂就很因吹斯听了。因为这类外挂你说他是外挂吧,但是它并不能带来透视自瞄这种功能,但是他确实破坏了游戏的平衡。这类外挂基本都是类似于按键精灵的东西,比如连跳功能手工完全可以实现,高手也经常在用,只不过用脚本可以成功率100%而已,再比如压枪功能也就是把鼠标下压并且按照弹道分布往相反的方向移动让子弹聚集而已,破坏性基本很小。

  如何评价CSGO反作弊系统

  首先说明VAC系统在扫描外挂行为方面可以说是一个比较基础的反作弊系统,像BattleEye 等其他反作弊系统都比他强。但是他胜在可以不断地自动检测和更新,可以自动学习就意味着无限的可能性。目前最重要的反作弊系统还是监管机制,通过人工方式审核让暴力作弊者与三流演员先封一批,而演技高超的作弊者并不会对游戏造成太大破坏,可以确保大体上的公正性。

  四、外挂为什么这么多

  外挂发展史

  伊始

  因为入门门槛太低,并且起源引擎是一个开源的引擎,在Github上可以轻易找到,所以第一批外挂作者都是看了起源引擎的代码,找到如何调用这些功能从而编制的外挂。

  发展

  由于功能越加越多,代码层次越来越乱,更多的外挂作者开始重视代码的分离,把调用起源引擎的代码放到同一个分类中称为SDK。这些SDK开源以后,外挂制作更加方便,你不需要再去看所有的起源引擎,只需要去SDK里找到它并且调用它,外挂制作门槛变低,外挂多了一些。

  扩散

  购买作弊工具的人源源不断,一部分人选择了收费,另一部分人选择了开源,其中重点要说一个外挂名字叫叫做 Ayyware(当然还有其他),由于功能全,结构合理,代码易读性很高,这个外挂从2016年4月公布源码以来,他的衍生版本数不胜数。一年时间Ayyware衍生出几个有代表性的作品,随后这几个代表作品开源后有又一堆衍生品的衍生版。下载这个外挂的源代码后,任何一个略微懂得编程的人只要几天就能修改出一个可以不被当场VAC封禁的外挂,并且只要你用了自己编写的代码,不公开出去,几乎很难封禁。

  随着Steam平台在国内越来越火,国内CSGO玩家越来越多,其他FPS游戏外挂制作者的生存环境越来越差。这些外挂作者开始转头制作CSGO的外挂。但是...你让一堆已经用E语言写了几年的外挂的作者去制作在CSGO外挂中普遍采用的C++外挂(C++语言跑的比其他语言都快,所以外挂中很多都是用C++)这不是难为人么,并且国内并没有成熟的E语言CSGO外挂用来参考。

  所以这些外挂作者就直接照搬国外的开源外挂,简单汉化后加上以前卖挂的易语言网络验证模块进行售卖盈利。

  国内玩家越来越多,有作弊需求的人越来越多,然而完美世界又给国服环境加了一把柴火,内测期间赠送了数量巨多的激活码而没有发现其中的风险。国服荣耀认证有两个方式可以通过:第一种支付宝认证,一般作弊者并不会去用。

  第二种则是人工审核,这种方式是作弊者常用的买号方式:各种P2C贷款的手持图上传后基本都很容易过。购买了这些手持图的商人在淘宝几块钱一个买激活码自己激活后转手20块卖给作弊者,导致国服环境更加恶劣。

  当然,完美世界已经发现了这种方式有很大弊端,现在要求加上CSGO荣耀认证的字样图片才给审核,已经杜绝了这个漏洞。

  而前一段时间的夏季促销,CSGO打折了!作弊者笑开花了,国服刚刚没路子了,国际服又招手了,所以又来了一批国际服作弊小号。

  不过由于国内大部分外挂制作者水平实在太差,用的源码基本相同,一封就是一大批不同外挂一起倒下,本次夏促结束后,也迎来了一波封禁浪潮:

  7月6日一天登进4万多账号

  五、鉴别外挂及举报方式

  上CSGO吧啊老铁,50万鉴挂专家欢迎你。(手动滑稽)

  鉴挂大师50W,壮哉我CSGO吧

  这里只告诉大家简单的鉴别方式,详细的鉴别方式很难用文字来描述。

  CSGO游戏时间在100小时以下。

  全部成就解锁(成就解锁器刷的)

  经常瞄墙,枪口朝地,但是枪法奇准

  架点很奇怪并且身法很差,但是总能杀人

  一场下来一次失误都没有,并且总能避开敌人。

  举报方式刚才已经说到了,每个没有被封禁的ID在6个小时内只有一次有效举报,你需要做的就是动员队友和敌方嫌疑人队友一起举报他,这样很大概率这一场游戏他就会获得5次有效举报。需要说明的是在比赛结束10分钟后举报无效,要举报请迅速。

  如果你一定要让他上监管,请通过某个不存在的搜索引擎搜索关键词 “CSGO reportbot”。

  有专门的网站提供举报服务,网站制作者买了一堆号专门用于举报,而举报并不需要自己在那场比赛里,所以一定上监管。当然上监管也并不一定会封禁,还需要看监管自身的判断来进行封禁。

读取中

读取中