Jump ESP, jump!: 破解免费增值游戏 - 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积分,也不可能购买这辆车。只能通过真钱获得。
那么,你有什么可能性?你要么是富家子弟,能负担得起买这些的钱。或者你可以疯狂地尝试不通过应用内购买玩游戏。或者放弃游戏尝试另一个免费增值…或者,你可以尝试黑客游戏!
黑客所有免费增值游戏!
虽然我不是从第一天开始玩这个赛车游戏,但我能够见证针对这个游戏的作弊的演进。一天有效的作弊一个月后就不工作了。游戏不断更新以击败新发布的作弊。
新手开始
所以,我想黑客这个游戏,像我这样的新手做的第一件事是什么?必应它!谷歌它!
从第一页结果,让我们检查这个工具:
在尝试下载时,我只需要把我的电子邮件地址给垃圾邮件发送者,或者我的手机号码将被订阅到高价短信。多么有趣。
另一个“作弊”程序将在你的电脑上安装恶意软件/广告软件。永远不要尝试这些程序。它们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黑客各种应用程序可能更舒适。
此外,总是在执行代码前检查它!当你发现一些很酷的东西时,发布它,这样每个人都可以享受游戏!
Posted by Z at 8:47:00 PM
Labels: cheating, freemium, games, hacking
5 comments: Gabor SzathmariJanuary 14, 2015 at 11:26 PM Like you already mentioned the network traffic hacking for cheating, it would be also interesting to tap on the traffic of in-app purchases and manipulate a few parameters here and there. Did you happen to have a look on that? ReplyDelete Replies Reply ZJanuary 15, 2015 at 8:29 AM I saw that this particular game sends the parameters in clear, but I had no time to play with those. But it looked promising. Reply Delete Replies Reply RazMay 25, 2017 at 4:05 AM i found myself spending over 800 dollars in two weeks on a game and got massivley depressed and deleted it… but now I want to try and hack it to atleast get some satisfaction from all my money spent. I will never, ever, get freemium games ever again… ReplyDelete Replies Reply KrotowMarch 4, 2019 at 10:43 PM Thank you! You would write a tutorial about this kind of game optimization. That video tutorial in YouTube you mentioned unfortunately is already deleted :( As software developer myself I realize that game developers should earn for living too. Single payment for particular games seems the best practice. Though ad-sponsored games with occasional not annoying ads are Ok as well. Same with games who may be purchased as whole or as split in reasonable size DLC’s. If you have a choice to buy some game in whole for 60$ or split in 3 parts per 20$ each then I see this reasonable. Most important is to avoid forced boredom and gameplay turning into chores. We all have everyday chores and we play computer games to get away and relax from these chores a bit. If game instead of relax turn into chores then it is worth nothing. Nearly all Android games I tried recently, was this sort of crap which got uninstalled after day or two because it was not possible to play them. Ad-sponsored games with annoying huge ad banners and videos for 15-20 seconds after each move is already bad. But games where you must wait up to day long for single action or pay only to advance is a ransome. I hope that I will live long enough to see this selling practice banned and forbidden by law. While it was not happened yet, I see nothing bad to to crack them to get rid of chore timers and other limitations. It was stupid to pay 800$ for freemium crap. Though it is not the largest amount yet. Read about kids who spent around 3000$ from their parents cards before they noticed that something is wrong. Reply Delete Replies Reply EdwardMarch 25, 2019 at 5:13 AM For hacking any types of game I use the latest lucky patcher hacking tool on my Android device… ReplyDelete Replies Reply Add comment Load more…