免费游戏黑客指南:PC游戏作弊技术演进剖析

本文深入探讨PC游戏作弊技术演进,涵盖内存修改、代码注入、网络流量篡改等核心黑客技术,详细分析CheatEngine工具的使用方法,揭示免费游戏如何通过内存加密对抗作弊,并探讨金融应用安全启示。

Jump ESP, jump!: 黑客攻击免费游戏 - PC游戏作弊的演进

这篇文章与之前的相比会有些特别。但请耐心阅读,在文章中间你会明白为什么这篇文章适合IT安全主题。

最近没有发文非常抱歉,但我一直在忙于SPSE和SLAE认证。对于像我这样的Python和汇编新手来说,这两个认证都很推荐。但回到这篇文章。

历史点滴

游戏作弊最初是为游戏测试人员提供帮助。通过使用无敌或无限弹药,测试人员能够更快地测试游戏,这意味着在测试上花费更少的钱。我个人会根据心情在游戏中使用作弊代码。有时在无敌状态下砍杀所有对手感觉很好,有时不使用作弊玩更有趣。关于游戏作弊是否可行存在争议,但我认为这取决于具体情况,没有黑白之分。但有一件事是肯定的,它是游戏产业的一部分。对作弊有巨大需求。甚至还有印刷在纸上的作弊书…

PC游戏中的不同类型作弊

PC游戏中有不同类型的作弊。以下是不完整的列表:

作弊代码

经典的IDDQD类型作弊。这些是开发者故意留在游戏中的。这里没什么有趣的。

编辑内存

这是我最喜欢的。我将在文章末尾讨论这个问题。每当用户启动新程序时,该程序的整个内存对该用户启动的每个其他程序都是可访问的(读/写)。由于内存存储当前游戏状态(生命值、弹药、护甲等),这些值可以轻松更改。在过去,有POKE命令来做这种作弊,要写入的内存地址由找到游戏存储最关键状态位置的人发布。

代码注入

这就像修补游戏代码。例如,可以将"DEC(指向你当前生命值的指针)“指令更改为NOP(什么都不做),从而变得无敌。在多玩家作弊中,有瞄准机器人帮助你瞄准敌人,穿墙黑客可以看到墙后,增加敌人的命中框以便更顺畅地命中,或者在MMORPG中,可以编写宏在玩家不在线时收集物品。所谓的"训练器"或多或少适合这个类别和前一个类别。

保存游戏编辑器

孩子第一次遇到十六进制编辑器(就像本博客的合著者David在10岁时用SIM City做的那样)。它可以教授很多关于文件结构、十六进制数字系统等的知识。有趣的时光。

黑客攻击游戏服务器

不常见,但更有趣。警告:多玩家游戏中存在无尽的恶搞可能性:)如何黑客攻击游戏服务器?嗯,我认为这可能值得另一篇完整的博客文章…

网络流量黑客攻击

最后一种必要的作弊类型是修改客户端和游戏服务器之间的网络流量。据我所知,SSL在游戏中并不普遍,因此这种黑客攻击不需要stunnel,但ettercap可以帮助更改通信。

为什么作弊变得更重要(和更具挑战性)?

现在在应用内支付时代,游戏创作者不再认为作弊是有趣的事情,而是需要彻底摧毁的东西。因为作弊会减少其收入。或者不会。至少他们认为会。引用维基百科的话,“在此类游戏中作弊仍然是一个法律灰色地带,因为没有法律禁止修改已经拥有的软件,如数字千年版权法案中详细说明的那样。”

许多在线游戏包括反作弊组件,如PunkBuster、nProtect GameGuard或Valve Anti-Cheat。整个作弊/反作弊行业与病毒/反病毒行业相同。一场猫鼠游戏。

免费游戏

如果你没有玩过"免费"游戏,你应该看《南方公园》第18季第6集 - “免费不是真免费”。如果你玩过免费游戏,你绝对必须看它:)免费游戏存在许多问题。免费安装,免费玩。前3-4小时可能玩得有趣。但之后,结果发现不花钱就不可能取得进展。通过花钱,我的意思是花很多钱!让我们看看今天的例子,一个街机赛车视频游戏。

对于99.99美元,你可以获得3,000,000积分。以几乎两倍于新PC游戏的价格,你可以获得这些积分。在这个特定游戏中,我估计需要连续玩约6-24小时才能获得这个数量的积分。但通过玩约6小时,我意思是6小时在游戏中没有进展!有点无聊。你从3,000,000积分中得到什么?你可以买一辆最贵的车,但不能完全调校它们。你必须玩更多(没有进展)或买更多。但猜猜看,还有更多你无法仅通过玩游戏购买的车。那些只能通过应用内购买获得。

即使玩家有58,765,533积分,也不可能买这辆车。只能通过真钱获得。

那么,你有什么可能性?你要么是富家子弟,能负担得起买这些的钱。或者你可以疯狂,尝试玩没有应用内购买的游戏。或者放弃游戏尝试另一个免费游戏…或者,你可以尝试黑客攻击游戏!

黑客攻击所有免费游戏!

虽然我不是从第一天开始玩这个赛车游戏,但我能够见证针对这个游戏的作弊演进。一天有效的作弊一个月后就不起作用了。游戏不断更新以击败新发布的作弊。

菜鸟开始

所以,我想黑客攻击这个游戏,像我这样的菜鸟做的第一件事是什么?必应它!谷歌它!

从第一页结果,让我们检查这个工具:

在尝试下载时,我只需要把我的电子邮件地址给垃圾邮件发送者,或者我的手机号码将被订阅到高价短信。真有趣。

另一个"作弊"程序将在你的计算机上安装恶意软件/广告软件。永远不要尝试这些程序。它们99%的时间是假的,安装后你将有另一个问题,不仅仅是如何黑客攻击免费游戏。

初学者开始 - Cheat Engine

当我第一次听说黑客攻击游戏内存时,我想象了几个小时的OllyDBG/ImmunityDBG/(在此插入你最喜欢的Windows调试器)。结果发现,有一些专门工具可以帮助你作弊游戏。不需要汇编知识。我最喜欢的工具是CheatEngine。我强烈建议下载它并花10分钟通过内置教程级别以感受这个工具。它超级棒。

当我第一次尝试自己黑客攻击这个游戏时,我扫描了内存中我的实际积分并尝试更改它,没有运气。继续阅读,你会看到发生了什么。

我用Cheat Engine尝试的第二个作弊是这样的:

  • 启动游戏,玩第一关,检查赢得比赛支付多少积分。专业提示:使用双显示器进行全屏游戏作弊。
  • 重新开始同一关卡,将Cheat Engine附加到游戏的进程
  • 在比赛开始时扫描内存中的相同值
  • 在游戏结束时扫描内存中的相同值。第一次和第二次扫描的交集包括存储赢得比赛积分的真实值。
  • 将值(真实值和一些误报)更改为大值
  • 观看游戏崩溃
  • 对你收到的钱感到惊讶

如今,YouTube上的大多数作弊都不起作用。除了这些类型的作弊。我不想重新创建那个教程,所以你应该先看它然后回来。

你回来了吗?太好了。你知道你刚刚看到了什么吗?不知道?嗯,在这种情况下,不要在家里尝试这个。从随机互联网帖子复制粘贴汇编代码并在计算机上运行总是一个坏主意。这与从随机互联网站点下载免费程序的风险完全相同。

虽然我没有看到人们用这种Cheat Engine类型的shellcode恶搞他人,但我认为这些将变成可怕东西的时候会到来。这些shellcode可能有效,也可能损害你的计算机。好消息是,我们可以查看代码并分析它。

当你打开CheatEngine并尝试定义新的自定义类型时,你会看到一个骨架汇编代码。我不想详细说明所有骨架代码的作用,让我们只关注骨架代码和视频中使用的代码之间的区别。这是"解密函数”:

1
2
xor eax, 0baadf00d
rol eax, 0e

这是什么意思?实际积分在内存中加密。如果你想在内存中扫描它,你将无法找到它。但是!加密是将值向右旋转(ROR)0xE(十进制14),之后它与0xbaadf00d进行XOR运算。解密它是逆函数的反向顺序(在这种特定情况下,顺序无关紧要,但这不是重点)。XOR的逆函数是XOR,ROR(向右旋转)的逆函数是ROL(向左旋转)。现在我们分析了汇编代码,我们可以确定执行是安全的。只需按照视频操作,看着你的硬币从天上掉下来。免费。在免费游戏中。玩得开心!

加密内存 - 在金融机构的应用

另一个令人兴奋的事情是,我不记得金融行业中的任何厚客户端应用程序加密内存中的值。我同意,厚客户端应用程序存在比不加密内存中基本值更严重的问题。但尽管如此,一些厚客户端应用程序定期更新、维护。也许加密内存中的值是个好主意。这将使攻击者的生活更艰难。不是不可能,但更艰难。也许这些应用程序的开发人员应该向游戏行业学习(或者就此而言向恶意软件开发者学习),因为一个街机赛车游戏或FPS比负责交易数百万美元的应用程序保护得更好是可耻的。想想窃取数百万信用卡数据的RAM抓取恶意软件…

故事的寓意

作弊是游戏历史的一部分,免费游戏正试图从玩家手中夺走作弊,因为他们想要钱。多亏了CheatEngine和一些聪明的黑客攻击,这些程序仍然可以被击败。猜猜看,有适用于Android的CheatEngine - 尽管在最新的Android上对我不起作用。有时,与传统的调试器相比,使用CheatEngine黑客攻击各种应用程序可能更舒适。

此外,在执行代码前始终检查代码!当你发现很酷的东西时,发布它,这样每个人都可以享受游戏!

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计