跳跃ESP,跳跃!:破解免费增值游戏——PC游戏作弊的演进
本文与之前的文章相比会有些不同。但请耐心阅读,在文章中间你会明白为什么这篇文章符合IT安全的主题。
最近没有发文,非常抱歉,但我忙于SPSE和SLAE认证。这两者都像我这样的Python和汇编新手推荐。但回到这篇文章。
一点历史
游戏作弊最初是为游戏测试者提供的帮助。通过使用无敌或无限弹药,测试者能够更快地测试游戏,这意味着在测试上花费更少的钱。我个人根据心情在游戏中使用作弊代码。有时,在无敌状态下砍杀所有对手感觉很好,有时没有作弊玩游戏更有趣。有人可能会争论游戏作弊是否合适,但我认为这取决于情况,没有黑白之分。但有一件事是肯定的,它是游戏行业的一部分。对作弊的需求很大。甚至还有印在纸上的作弊书……
PC上的不同类型作弊
PC游戏中有不同类型的作弊。以下是不完整的列表:
作弊代码
古老的IDDQD类型的作弊。这些是开发者故意留在游戏中的。这里没有什么有趣的。
编辑内存
这是我最喜欢的。我将在文章末尾讨论这一点。每当用户启动一个新程序时,该程序的整个内存对该用户启动的每个其他程序都是可访问(读/写)的。由于内存存储当前的游戏状态(生命值、弹药、护甲等),这些值可以轻松更改。在美好的旧时光里,有POKE命令来做这种作弊,要写入的内存地址是由发现游戏存储最关键状态的人发布的。
代码注入
这就像修补游戏代码。例如,可以将“DEC(指向你当前生命值的指针)”指令改为NOP(什么都不做),从而变得无敌。在多玩家作弊中,有瞄准机器人帮助你瞄准敌人,透视墙 hack 以看穿墙壁,增大敌人的命中框以便更顺畅地命中,或者在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积分,也无法购买这辆车。只能通过真钱获得。
那么,你有什么可能性?你要么是Richie Rich,能负担得起买这些的钱。或者你可以疯狂地尝试不通过应用内购买玩游戏。或者放弃游戏,尝试另一个免费增值游戏……或者,你可以尝试黑客游戏!
黑客所有免费增值游戏!
虽然我不是从第一天开始玩这款赛车游戏,但我能够目睹针对这款游戏的作弊的演进。一天有效的作弊一个月后就不工作了。游戏不断更新以击败新发布的作弊。
新手开始
所以,我想黑客这款游戏,像我这样的新手第一件事做什么?必应它!谷歌它!
从第一页结果,让我们检查这个工具:
在尝试下载时,我只需将我的电子邮件地址给垃圾邮件发送者,或者我的手机号码将被订阅到高价短信。真有趣。
另一个“作弊”程序将在你的计算机上安装恶意软件/广告软件。永远不要尝试这些程序。它们99%的时间是假的,安装后你会有另一个问题,而不仅仅是如何黑客免费增值游戏。
初学者开始——Cheat Engine
当我第一次听说黑客游戏内存时,我想象了数小时的OllyDBG/ImmunityDBG/(在此插入你最喜欢的Windows调试器)。结果发现,有一些专门工具可以帮助你作弊游戏。不需要汇编知识。我最喜欢的工具是CheatEngine。我强烈建议下载它并花10分钟通过内置教程级别来感受这个工具。它超级棒。
当我第一次尝试自己黑客这款游戏时,我扫描内存以查找我的实际积分并尝试更改它,没有运气。继续阅读,你会看到发生了什么。
我尝试的第二个作弊与Cheat Engine类似这样:
启动游戏,玩第一关,检查赢得比赛支付多少积分。专业提示:使用双显示器进行全屏游戏作弊。 重新开始同一关卡,将Cheat Engine附加到游戏的进程 在比赛开始时扫描内存以查找相同值 在游戏结束时扫描内存以查找相同值。第一次和第二次扫描的交集包括存储赢得比赛积分的真实值。 将值(真实值和一些误报)更改为大数值 观看游戏崩溃 对你收到的钱感到惊讶
如今,YouTube上的大多数作弊都不工作。除了这些类型的作弊。我不想重新创建那个教程,所以你应该先看它然后回来。
你回来了吗?太好了。你知道你刚刚看到了什么吗?不知道?嗯,在这种情况下,不要在家里尝试。从随机互联网帖子复制粘贴汇编代码并在计算机上运行总是一个坏主意。它与从随机互联网站点下载免费程序一样风险大。
虽然我没有看到人们用这种Cheat Engine类型的shellcode恶搞他人,但我认为这些将变成可怕的东西的时候会到来。这些shellcode可能工作,也可能损害你的计算机。好消息是,我们可以查看代码并分析它。
当你打开CheatEngine并尝试定义新的自定义类型时,你会看到一个骨架汇编代码。我不想详细说明所有骨架代码的作用,让我们只关注骨架代码和视频中使用的代码之间的区别。这是“解密函数”:
|
|
这是什么意思?实际积分在内存中加密。如果你想在内存中扫描它,你将无法找到它。但是!加密是将值向右旋转(ROR)0xE(十进制14),之后与0xbaadf00d进行XOR。解密是逆函数以相反顺序(在这种特定情况下,顺序无关紧要,但这不是重点)。XOR的逆函数是XOR,而ROR(向右旋转)的逆函数是ROL(向左旋转)。既然我们分析了汇编代码,我们可以确定执行它是安全的。只需跟随视频,看你的硬币从天上掉下来。免费。在免费增值游戏中。玩得开心!
加密内存——在金融机构的应用
另一个令人兴奋的事情是,我不记得金融行业的任何厚客户端应用程序在内存中加密值。我同意,厚客户端应用程序有比不在内存中加密关键值更严重的问题。但仍然,一些厚客户端应用程序定期更新、维护。也许在内存中加密值是个好主意。它将使攻击者的生活更困难。不是不可能,但更困难。也许这些应用程序的开发人员应该从游戏行业(或恶意软件开发者)学习,因为一款街机赛车游戏或FPS比负责交易数百万美元的应用程序保护得更好是耻辱。只需想想RAM抓取恶意软件窃取数百万信用卡数据……
故事的道德
作弊是游戏历史的一部分,而免费增值游戏正试图从玩家手中夺走作弊,因为他们想要钱。多亏了CheatEngine和一些聪明的黑客,这些程序仍然可以被击败。猜猜看,有Android版的CheatEngine——尽管在最新Android上对我不工作。有时,与传统调试器相比,使用CheatEngine黑客各种应用程序可能更舒适。
此外,始终在执行前检查代码!当你发现很酷的东西时,发布它,这样每个人都可以享受游戏!