作弊,作弊者和反作弊工具
网络游戏作弊将永远存在。这是一个事实。尽管我们不希望这样,但这无法改变。或者,作为替代,干脆不玩游戏。作弊永远无法根除,因为很多玩家都有想要轻松取胜、成为最酷的人的欲望。而这往往吸引了许多新手,他们厌倦了每次都被击中,决定选择最简单的道路……
不,计算机游戏的开发者并非坐以待毙。新的补丁和修复程序不断推出,迅速关闭了被作弊或可能在未来被作弊使用的漏洞和缺口。
最初的反作弊软件效果甚微,常常引发大量问题和故障。但是随着时间的推移,它们变得越来越完善:新的样本被添加到数据库中,扫描方法不断改进,使得即使是未知的作弊也可以被发现。然而,“作弊产业”并没有停滞不前,成功地绕过了所有游戏开发者和反作弊软件设置的陷阱。这就像是病毒作者和杀毒软件开发者之间的永恒斗争。无论防病毒软件多么强大,总会有漏洞或缺口存在。同样的道理,反作弊软件也没有完美的存在。更重要的是,制作作弊的可不是那些刚学会编程的青少年(如果有人感兴趣,他们可以去codhacks.ru ;))。对于很多人来说,这已经成为了一门能带来可观利润的生意。这里我指的是付费作弊开发者(privat hacks)。确实,称之为“作弊的制造者”也让人觉得不妥。与免费的类似物相比,使用付费作弊被封号的风险几乎趋近于零。此外,通常还提供24/7的技术支持(论坛、IRC),而服务本身也处于非常高的水平。随着新补丁的发布,或者当新的扫描签名出现时,作弊会及时更新。与付费作弊作斗争几乎是徒劳的,因为几乎所有的付费作弊都有“antileak”系统,用于防止可执行文件的泄露。举个例子,某个知名作弊社区的作弊是如何工作的。存在一个类似Steam的专用客户端,其中显示了您当前所有活动的订阅,或者更简单地说,您购买的作弊。您的PC上没有作弊内容 - 只有这个客户端的可执行文件。当您启动作弊时,它会从服务器下载并立即加载到内存中(否则所有付费作弊都将被自由访问于某个mpcforum)。需要提到的是,付费作弊往往与您登录付款时所用PC的硬件ID绑定(如果硬件ID更改,您将无法登录客户端)。这样做的目的是防止作弊的传播。否则,某人可以买下来并公开分享(起初确实如此,直到程序员们想出上述方法)。此外,为每个用户生成唯一的CRC代码,提供额外的保护(如果所有用户的可执行文件都有相同的CRC,那么这个代码可以轻易地加入到反作弊数据库中)。
例如,VAC支持团队的人员不惜花费一百欧元(用我们朋友买各种反恐精英的钱 ;)),购买了付费作弊。他们坐下来开始研究它。研究了很久,最终经过巨大的努力,他们成功获取了所有的可执行文件和作弊的库。自然,他们立即将所获取的信息加入到VAC数据库中,所有使用这种作弊的玩家都会被封号。那么作弊开发者会怎么做呢?他们会更新作弊(更改可执行文件的版本,库,改变在游戏中插入的方式,或者最后,重新编译作弊)。于是Valve的工作人员的辛苦努力将化为泡影。封了就封了,也不算太大损失。你以为那些愿意花一百美元购买作弊的人会因被封而停止吗?别开玩笑了。他们会重新购买新的密钥,然后继续使用作弊。Valve不会再浪费时间寻找因作弊更新而做出的更改。他们总不能永远盯着一个网站吧?毫无疑问,Valve有天才的员工,但作弊的开发者们也不是傻瓜。想要分析这样一个高保护的作弊需要花费不少时间。现在让我们大致估算一下有多少网站在出售付费作弊。大约取20个(虽然实际上多得多)。你以为VAC开发团队会有那么多人力和时间去购买和研究所有的付费作弊吗?这几乎不可能。辛苦的工作,因为作弊仍然会被更新与重新编译,意味着所有的工作将付诸东流。
在一个知名的出售作弊的网站上发布的吸引玩家的广告。你真的认为这是一个活跃的监控,检查作弊的状态吗?这仅仅是一个模板元素,甚至如果作弊被发现,“Undetected”也永远不会变成“Detected”。
与免费作弊的情况要简单得多。只需找到一个流行的作弊门户网站,定期下载它们的新产品,系统地将信息录入反作弊数据库。此外,根本没有任何保护,尤其是“antileak”也无从谈起。一个免费作弊包含什么呢?
Superhack.exe(可执行文件)
Superhack.dll(库)
Superhack.cfg(存储用户设置的文件)
这里甚至可以简单地将文件的CRC提取出来并添加到数据库。工作量,最多半个小时。因此,免费作弊的生命周期最多也就一个月到两个月。因此它们数量稀少。与其购买和分析付费作弊,反作弊的开发者们更倾向于引入新的检测系统,改进扫描方法等。
PunkBuster与VAC
“VAC不好。”每个玩家都认为有必要朝VAC开发团队丢出石块,理由是《现代战争2》中的作弊者越来越多,而备受推崇的VAC不仅未能有效应对,甚至谁也没有被封号。在其长篇大论的结尾,这些玩家又补充一句,不如留下PunkBuster。但在这之中没有人真正理解VAC是如何工作的。即便我在这里写了详细的关于VAC的FAQ,情况也丝毫没有改变。甚至在我帖子的一条评论中,有人写出一句老生常谈的“我没有注意到程序的效果。从一开始就经常遇到作弊者。”现在是时候把一切摊开来,把争议点解释清楚。首先,朋友们,请记住,最好在纸上写下来并在睡前重复一遍:
1. 作弊者将永远存在。这一现象无法通过任何方式根除。新的作弊者将取代旧的作弊者。为什么人们会犯罪,尽管他们明白,总有一天会受到惩罚?这里也是如此。
2. 作弊始终将走在反作弊开发团队的前面,因为总有一把剑可以针对每面盾牌。
大部分玩家都在想的主要问题是“为什么《现代战争2》的反作弊选择了VAC?”(准确地说是VAC2)。原因很简单,就是因为游戏中不存在专用服务器。Infinity Ward,正如他们喜欢重复的那样,想让游戏的网络部分完全自主,而PunkBuster需要客户和服务器双方的持续更新。而且,还需要定期查看屏幕截图,以寻找可视证据表明作弊的事实。而且既然没有专用服务器,那谁来做这些呢?所以选择了VAC。
从Infinity Ward的角度来看,VAC完全符合他们的要求:玩家无需进行任何维护的操作,所有的责任都落在VAC开发团队的身上。只是IW对此似乎并没有意识到,之前VAC主要用于Valve的游戏*。也就是说,在开发游戏时,Valve本来可以确保与反作弊系统的紧密集成,从而确保有效地检测对游戏过程的外部干预。
__________________________
\供参考:目前VAC仅在三款第三方游戏上使用:红色圆圈、失落星球:极限状态和杀戮地带。*
VAC的最大缺点是延迟封禁(delay ban)。VAC立刻检测到作弊。但封锁将在随机时间结束后生效,平均而言不超过三周。在这段时间里,作弊者仍会继续游戏,影响其他玩家。而在被封号后,他们很可能会立即去商店购买新光盘,并不忘继续使用作弊。毕竟我们生活在俄罗斯,游戏按照西方标准几乎是免费的(同样的MW2在这里只要13美元,而在他们那需要60美元)。为什么不立即封号作弊者呢?这里面有其巧妙之处。VAC,抱歉我的表达,确实是一个讨厌的存在,不仅对于作弊者,首先对于作弊开发者也是如此。无论编码者多么厉害,他永远无法给您一个确定的答案,是否能发现他的作弊。只有在三周后才能知道这一点。没有其他办法。如果这是一个公共作弊,那么在此期间,如果它一开始是“undetected”状态,那么以90%的概率,它将被添加到VAC数据库中。甚至连那些著名的付费作弊开发网站的开发者也不能完全保证使用其作弊是完全安全的。
相较之下,PunkBuster则能立即封禁。并且,有时不仅仅是因为作弊 ;) 一旦系统出现任何可疑的活动,立即会被踢出。它可以自动从每个玩家的屏幕上截屏数次。这些屏幕截图可以作为罪行充分的证据。而这些截图也可以提交给Evenbalance(他们开发并维护PunkBuster),这将导致其密钥被全球封禁。不同于Valve,PunkBuster的开发团队乐意接受并处理所有的投诉。此外,还有各种流媒体数据库。这是什么?这是一组独立的团队,他们独立地将作弊加入自己的数据库,并且可以连接到任何服务器(类似于Steambans服务)。如果在扫描玩家PC时发现任何与流媒体数据库中的样本相同的内容,那么将会立即封禁,这一封禁将适用于所有连接到该数据库的服务器。实际上,被流媒体封禁就等于获得全球封禁,因为每个正常的管理员都会将这种服务接入其服务器。但这里也有一个更大的缺点。没有必要寻找例子;GGC-stream团队常常在没有证据的情况下进行封禁。此外,任何证据都可能被伪造。甚至是PunkBuster的截图。
PunkBuster会检查文件的校验和,确保纹理的完整性(例如,如果玩家使用修改过的驱动而且缺少某些东西,例如草),以及很多其他情况。但是,用它来制作新作弊在某种程度上要容易得多。这意味着可以立即检查是否被检测到。
但尽管PunkBuster拥有所有这些优势,依然存在很多问题。它需要手动更新(自动更新并不总是正常工作),时常会与其他软件冲突。而且,您可能会因为内存中悬挂的未知进程(例如病毒)而被踢。而一年前,出现了荒谬的情况:PunkBuster因为使用Steam的覆盖而踢出玩家……
PunkBuster的服务器部分也需要持续监控。
PunkBuster的标准错误。通过重新安装解决
而且,当PunkBuster开始扫描您的电脑时,通常会伴随着延迟和卡顿。
但尽管如此,PunkBuster依然成功被规避。有人甚至能够欺骗PBSS(负责从客户端截取截图的模块)。以下是一些规避的方法:
1. 截屏根本不被发送到服务器,或发送损坏的截屏。
2. 截屏发送了,但黑屏。玩家总是可以辩解,自己使用的是Vista或Win7,这与PunkBuster的兼容性不佳(因为这两个系统的用户所有截屏都是黑色的)。
3. 由于其复杂性,该方法仅在部分付费作弊中实现。当来自服务器要求获取玩家屏幕截屏的命令(无论是自动还是管理员的要求)时,作弊会自动关闭屏幕的所有可视内容(如墙壁破解、雷达等),然后拍摄干净的截屏并发送给服务器,之后作弊重新打开一切。这只需要1.5秒。
值得注意的是,在某些情况下,PunkBuster会施加硬件封禁,即基于硬件的封禁。但是在过去一到一年半中,根据我的了解,没有此类事件。
而VAC对于玩家更加友好:它与其他操作系统不会产生冲突,不会在扫描时引起延迟,也不需要太多关注。最多会因为与VAC服务器的连接丢失而被踢出(由于互联网故障、游戏服务器故障或Valve的服务器故障)。但是这种情况非常罕见。
现在是总结的时候了。无论是VAC还是PunkBuster,都有自己的隐患。当然,PunkBuster会立即封禁作弊者,但正如我之前解释的,因与IWnet结合使用而不可能做到,因此VAC成为唯一的选择(似乎不止一个选择)。VAC、PunkBuster和GameGuard都是完整的集成解决方案。而其他的反作弊软件要么使用外部模块(如sXe Injected),要么因其过于专业化和效率低下(如X-ray)而无法形成有效的竞争。
这就是PunkBuster在游戏中截取的屏幕截图的样子(COD4)
免费付费作弊
你相信它们的存在吗?我个人不相信。但很多人认为,总会有志愿者花自己的钱购买作弊并将其公开供所有愿望者下载。因此,许多不良分子就趁虚而入,发布假货。但这些并不是作弊,只是可执行文件和漂亮的界面。里面自然是木马,窃取Steam账号的密码。但是玩家处于一种兴奋的状态,认为现在就要实现压制所有人的美梦,因此忽视了杀毒软件的警告,或者将其关闭。第二天,他们在某个论坛上哭诉,抱怨账号被盗。如果我的话对您来说还不够有说服力,可以下载这样的“作弊”去virustotal.com进行检查,您自己来看看。
俄罗斯黑客
不想冒犯,但俄罗斯的作弊者算是最傻的。十四岁的男孩瓦西娅买了《现代战争2》,玩了两天后,生气于所有人,决定提升自己的技巧。朋友瓦尼亚建议他找作弊:“这是一种很棒的程序。”瓦西娅兴奋地开始上网搜索,立即就找到了一个很酷的论坛,从那里下载了一些同样酷的作弊。瓦西娅甚至不知道VAC是什么,以及使用作弊会导致封号……作弊有效,瓦西娅在第一天、第二天,甚至一周后都没有被封……瓦西娅的快乐无法用言语表达,他认为这将永远如此。但随后他收到了封号。然后在某个论坛上哭诉Steam的弊端(可能在modernwarfare2.ru上,那有很多人 ;)),他去买了新的光盘。没有作弊,他无法再玩。而他又找到了作弊。并且再次踏入同样的陷阱。问题来了:瓦西娅得多少次被封号,才能明白作弊是个错误呢?两次?或者甚至三次?也许瓦西娅的父亲是油田的老板,因此瓦西娅每周能承受几张光盘的开支?……
俄罗斯人很少会购买付费作弊。因为我们习惯于免费。我们连正版游戏的购买都犹豫不决,更不用说作弊了……正如某人曾经说的,“买作弊?天啊,原来要成为穷人还得花钱?”而一个普通中学生凭什么给自己相应的信用卡和几百欧元去支付作弊?所以他们使用免费的。
西方早就意识到,使用免费作弊就像与妓女无保护性交一样。您将肯定被封。这只是时间问题。对于他们来说,一百欧元就如同我们的一百卢布。因为不值得冒这个险,一次支付作弊比随后失去600美元游戏账号更划算。如果即便购买了作弊,也绝对无法确保自己能够无罪。
哀嚎
我再次坚信Infinity Ward和Valve的员工都是天才。
在游戏发布后的一个星期内,出现了大量作弊和作弊者。这犹如一场疫情。这暴露了IWnet的所有缺陷。玩家无法封禁或踢出作弊者。而这对作弊者来说是绝对的天堂……如果VAC尚且能够不断将新的作弊加入数据库,那么对于付费作弊做些什么呢。“买下它们全部,并同样加入到数据库中”——你们会这么说。完全不现实。因为这需要巨大的人员投入、时间,以及如我之前所述的,这在技术上由于付费作弊的“antileak”系统而不可实现。分析一个作弊就需要花费太多时间,更不要说数十个了……Valve也承受着Infinity Ward的压力,称我们花了你们那么多钱(难道你们以为VAC开发团队是无偿工作的吗?),而没过一个月,作弊者们就占据了游戏。
这需要解决。不知道是谁提议的这一想法,但这个人无疑应该获得奖章。
当第*169号补丁发布时,所有付费作弊都立即更新,规避了新的签名和修复(免费的更新慢得多)。然后,Infinity Ward将版本回滚至*164,所有作弊者瞬间浮出水面。超过2500人。没有计时器倒计时。在所有人中被手动封号,几乎所有使用付费作弊的人都被捕获。很可能,IW和Valve看到的结果会受到鼓舞,并将此作为常规策略。但不应高兴得太早。敌人依然在进攻。作弊开发者们不会希望失去客户和巨额利润,因此战争仍在继续,并将无休止地进行下去。