某FPS游戏作弊调查

知己知彼才能百战不殆。

最近在国内的某对战平台打排位,本来上个赛季末上千分的水平现在这个赛季怎么都上不去,而且经常就是游戏体验极差,在退坑之前,我特地花时间去调查了是什么导致我们游戏体验这么差,而我们该怎么办。写完这个文章之后我就会卸载相关的游戏,希望游戏环境在此之后能得到改善。

本文可能存在一些错误,欢迎大家联系我进行更正。本文会对一些涉及个人信息的图片打码处理,希望大家谅解。

FPS游戏方框一类作弊的原理

根据我所接触的安卓和PC平台的类似的作弊软件,他们通常都逃不过内存修改这一步。因为这类游戏通常会在内存中直接保存玩家的信息,可能是效率等等问题,导致其他程序可以直接读取到未经加密的数值。(我并不懂游戏开发,所以希望专业人士来说明。)

如上图所示,这里我展示的是一个方框程序的源码,效果就如图一所示了。这里显示得非常清楚,软件直接读取基址+偏移的内容。而基址的获取是靠取进程->取DLL模块地址->寻找定位信息(如某字符串),从而保证在每次运行的时候都能获取到最新的地址。而通常来说,游戏更新之后只需要重新确定偏移就行了。

我不是很了解他们如何找到的偏移,猜测是类似于多次搜索数值从而确定,比如自己的血量等等。只需要开发出来一次,以后修改一点数字就行了。

谁在售卖这些软件

你如果在一些电商平台、搜索引擎上面搜索游戏平台的名称,就能发现这些软件的痕迹。我觉得买家评论和销量基本上都是刷的,私聊买家后你通常会得到一个自动发卡网站的链接,在购买软件之后,会得到托管在云盘上面的分享链接和有效时间的密匙。

因为他们都是使用的小号来售卖软件,发卡网站又没有进行信息公示或者进行核查,所以他们的身份我们不得而知。(但是不代表我们查不到他们的信息。😉)

实战分析一款软件

在运行这款软件的同时,我们使用了Process MonitorWireshark进行进程的行为和网络分析,同时事先使用Any.run腾讯哈勃分析系统提前确认软件的行为。

我们锁定了一个IP地址:183.*.*.88,利用Virus Total进行简单追溯,发现这大概率是一个网络验证服务器,软件会让你在注册帐号之后,查询剩余时长,时长足够就启动作弊软件,时长不足够就提示。

我们针对易语言的特点进行分析,发现软件使用了如下支持库:

  • 系统核心支持库
  • 扩展界面支持库二
  • 扩展界面支持库一
  • 特殊功能支持库
  • 操作系统界面功能支持库
  • 扩展功能支持库一
  • 应用接口支持库
  • 保密通讯支持库
  • 数据操作支持库一
  • 多线程支持库
  • 数值计算支持库
  • 脚本语言支持组件
  • 编码转换支持库
  • 互联网支持库
  • 网络传送支持库

在调用函数分析中,我们发现了诸如异或、取整等加密操作,修改文件属性等文件操作等等。同时我们发现软件为了自我保护,防止抓包,删除了注册表内的代理设置。这估计都属于网络验证。

在此之后,根据经验判断,软件会释放出自带的作弊程序,而不是从网上获取。而作弊程序实际上是开源的,我们从释放出来的软件的特征找到了GitHub地址。根据作者的介绍,软件主要利用的是ROP攻击,并且作者表示VAC更倾向于分析可执行的内存,而ROP技术并不需要保证可执行。

软件会修改标题为随机字符,防止防作弊程序根据进程名封禁。软件内置了一个汇编代码编译器,所有功能的实现是一个个汇编语言源码组成的。里面内置了小地图雷达,自动开枪,人物轮廓显示。

比较有趣的是,因为这个软件的主程序除了网验之外并没有什么技术含量,所以软件会把作弊程序释放到临时目录下面,并且给文件夹设置SH属性,使得一般情况下在资源管理器中不可见。

分析大概就是这样了,还有一些我写在后面。

其他作弊软件

还有一些软件同样是对进程进行注入,看样子是同一套源码改出来的,主要是靠导入的参数。这里不详解,既然是同一套改出来的,希望反作弊能把他们一起查封了。需要注意的是有的软件可以显示Observers,提示有多少人在看。

某平台反作弊现状

从这些软件的交流群里面,我得知现状某平台的反作弊程序会对玩家的游戏界面进行截图,从而进行判断。但是这本身就存在一个问题,一些不会太明显的功能,比如在雷达上显示敌方位置,并不会很快被查处(甚至有的人已经使用了数月)。

有的人在作弊的时候会进入游戏之后就关闭对战平台,这同样给反作弊制造了难度。如果仅仅靠读取MAC地址来作为机器码的话,这种机制完全形为虚设。平台的客户端基于Electron,这会带来一些问题。

这里还有一个问题,尽管现在新注册的账号必须经过10次新手匹配营胜场才能进入天梯匹配,但是令人惊讶的是,电商平台上面3元就能买到一个Steam账号和163邮箱账号。通过他们给的账号新注册后可以直接天梯。经过调查发现,Steam账号没有游玩时长,但是成就达成是100%,可能是平台凭借成就来判定天梯资格?并且163邮箱账号登录上之后,查看历史邮件会有电子货币提现记录,这些邮箱以前是用来做什么的,留给大家自己思考。只能说这个水有点深。

对反作弊行业的展望

首先希望相应的平台对自己的反作弊平台进行更新,加大查处力度,提高自身用户的准入门槛,不要做一些为了利益忽视玩家的行为。从上面软件的源码来看,有些软件作者有一定二进制基础,能够利用漏洞进行攻击,而那些售卖软件的作者就水平堪忧,通常靠易语言写一些网络验证程序,但是收入并不低,我们按照天卡20来算,每天有20个人用的话一个月就能够收入上万。如何对这个行业进行打击,是需要大家进行思考的。

我甚至发现有的网站还有备案信息,为什么这类网站能够备案后还做下来,这也是一个令人思考的问题。这里不会公布源码还有网站地址,避免更多人去使用作弊软件。

今天再次打开游戏的时候觉得挺恶心的,就卸载了,感谢这个游戏曾经给我带来快乐。

写在最后

希望电商平台、对战平台还有相关的部门能够一起努力,给玩家一个良好的游戏环境,保证行业正常发展。

  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 许可协议。转载需要标明作者,并以超链接的方式指向原文。
  • Copyrights © 2020 Kevin Li
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~