原文地址:http://bbs.nga.cn/read.php?tid=8955128
大家都知道fps很容易作弊,比如国内火热的逆战外挂很多,国际比赛常客csgo作弊也实在简单。那么守望先锋怎么杜绝作弊呢?玩家对此表示担忧。
以下内容为作弊器作用原理的说明。
为什么不能杜绝作弊 FPS游戏的核心逻辑太简单,基本和连连看差不多——看到pattern——挪动鼠标——点击。这就是FPS竞技的最主要的竞技规则。可悲的是这个逻辑完全可以由程序来完成,并且比人好100倍。
作弊器的一些说明 最高票的回答中,一些关于作弊器的描写并不准确,我来补充补充。supex0这款作弊器,是被开发者事先放到创意工坊中的trainingmap里,然后选手在热身时下载目标地图,随地图一起嵌入游戏的。我看过supex0的源码——按我说,low level code.没有任何编程基础的人3个月就能写出这种玩意儿。作弊器的编写门槛非常低,低到你无法想象。
1)透视,现在基本分两种。hookD3D函数消轴上色和改值调用游戏内部函数——比如看起来人物显示在墙面上的透视和GLOW透视。职业选手绝不会用透视,理由显而易见。一些高段位作弊选手也不会用,因为透视实在是不好用,尤其在Highlevel的比赛,你并不能一边演的完美无缺一边发挥实力,真的太难。
2)自瞄,也分两种。triggerbot和aimbot。第一种你自己移动准星,由程序判断你准星内是否有敌人,有的话就开枪。第二种是由程序来控制准星瞄准敌人的hitbox并开枪。至于修改弹道这种,属于大面积修改数值,属于rage hack。基本vac秒ban,职业选手也并不会使用。
作弊器对选手的意义 很多职业选手或高段位选手都倾向于小范围的aimbot。比如5°自瞄。因为这些选手本身已经具有良好的瞄准技术以及战术素养,在不用作弊器的时候而有一定实力,但是有了作弊器,他们可以更上一个或几个台阶,成为”更好的(伪)自己"。一般选手用了作弊器,变成了一流选手。一流选手用了作弊器,变成了超一流选手。超一流选手用了作弊器,变成了职业选手。职业选手用了作弊器,变成了Top10选手。Top10选手用了作弊器,变成了更加稳定、更加不会失误、口碑更好的的Top10选手。有些选手可能发挥不稳定,那么作弊器就帮他完成稳定。有些选手枪法略逊于意识,那么作弊器就帮他补全枪法。有些选手以前发挥太好,现在比赛压力非常大,那么作弊器就帮他保持它的发挥,消除心理压力。越是高段位的选手和职业选手,就越清楚自己的薄弱项,就越能更好地利用作弊器来完成他心中的邪恶目的。这样的选手,本身就非常优秀、聪明,在被铁证击倒前基本不可能被揭穿,甚至还有自己的highlight锦集、教学、开直播、还是很多人的精神信仰。可以说,各种阶层都有作弊器需求的动机,作弊器对于选手来说是万能解药,是那个充满诱惑的禁果。
作弊器猖獗的原因 一个是上段提到的“作弊器对选手来说是万能解药”以及对于开发者来说的巨大金钱诱惑。再一个是v社的不作为。第一个就不谈了,毕竟人性就是有弱点的。我来讲讲为什么v社不作为。
——你知道判断准星里有没有人是怎么实现的么?——csgo内存空间里有一个4字节int值,你准星里有敌人,这个值就是1,没人,这个值就是0。
——你知道自动开枪是怎么实现的么?——csgo内存空间里有一个4字节int值,1就是开枪,0就是不开枪。
——你知道GLOW透视怎么实现的么?——csgo内存空间里有一个4字节int值,1就是开启glow光,0就是关闭glow光。
——你知道寻找敌人并开枪是怎么是怎么实现的么?——csgo内存空间里每场游戏都有一堆相似的数组,每个数组里存放一个人的信息,有友军有敌军,出现在你可视范围了,这数组里有一个值就变成了1;还有两个数值是hitbox的xy坐标、敌人和你的距离。再加上一个你当前视角的值,做一个简单的计算,这功能就完事了。
你看,v社就是这么屌。你只要花一个下午分析调试一下csgo.exe,掌握了这些值的地址的特征码,再加上一点点简单的逻辑和一个MFC界面,你也成为了一个csgo外挂工程师了。v社还亲切地告诉你,这些值从来不做二次效验,更不用提什么心跳包和hash,全部是本地计算!计算过程完全透明!噢耶!注个dll直接修改就是了!随便改!立刻生效!vacfree!
我能理解,fps游戏实时要求比较高,所以不能总做联网检测和安全方面的计算。但是我分析完csgo的数据结构我发现这个借口太苍白了。很多地方明显是小学生都能想到怎么禁止,甚至不要说禁止,哪怕是简单的hash一下做个判断、哪怕不要存一个地方,哪怕学cf做个小规模的心跳包,都能有效的增加外挂的制作难度,进而遏制作弊。vac又是经常的延后封禁。这让我不得不想到,也许这些是v社的一些事先安排好的。我不相信valve这个浸淫游戏界近20年的、500员工、大作无数的世界级的游戏开发商不能想出办法遏制作弊。起码我分析csgo之后,我遗憾的说,v社在csgo程序本身上对于反作弊的考虑是0。甚至比不上tx的某f某战。
就是这样。至于利益相关,答主几年前少不更事,误入歧途,阴错阳差、鬼使神差的进入某个灰色产业链,现在早已痛下决心、痛改前非、痛心疾首、痛定思痛的从里边全身而退,转到内核安全方向了。但是一颗热爱cs的心从10年前就没变过,也一直希望可以为这个圈子做点什么。