在“劲乐团”中疯狂“刷钱”
黑客·安全
由韩国O2Media游戏公司开发,国内9YOU网代理的MMOMPG(Massive Multi Online Music Play Game)游戏──“劲乐团”,前不久爆出了刷钱风波,很多新手玩家分文不花就拥有了“价值连城”的虚拟装备,一时间满城风雨……
背景资料:
“劲乐团”是一款以音乐为游戏平台的休闲音乐网游,玩家可以一边听音乐一边尽情享受游戏的乐趣。它所倡导的“玩音乐”概念开创了在线娱乐的全新概念,并受到了亚洲各地年轻人的热烈追捧。劲乐团融合了各种音乐风格,在这里你可以听到最流行的日韩、港台歌曲,弹奏最纯正的古典钢琴协奏曲。
如此有吸引力的游戏当然会吸引广大网友,目前该网游的在线人数已经突破20万。
一款互动网游“劲乐团”在数据交换的安全机制方面竟如此轻率,只需利用WPE针对劲乐团的这一漏洞开攻便可刷钱(利用不正当的手段获取虚拟货币)。当然,本文的本意并不是要破坏网络游戏的平衡和安定,笔者希望借此来提醒广大网络游戏提供商,在保证游戏质量的同时,也要注意网络游戏数据本身的安全机制的提高,这样才能让玩家放心地去玩。
一、漏洞现身
笔者前些日子在游戏过程中,经常看到显示“该用户正在非法进行游戏”信息的房间,点击是无法进入的,会弹出“非法游戏进行中”提示框。直觉告诉笔者有玩家利用技术手段在作弊……
这些人作弊的目的不言而喻,当然是非法获取游戏中的劲乐币来满足其私欲。
这勾起了笔者的兴趣,遂操起尘封已久的网络封包抓捕工具“WPE”来分析游戏数据,寻找作弊的原理。哪知分析结果令笔者大跌眼镜,客户端和网游服务器之间传输的游戏数据竟然没有被加密(其中包含玩家获取金钱、经验、游戏成绩的各类详细数据)。
值得一提的是,虽然这个漏洞前不久被9YOU补上了,大家再也无法通过这个方法作弊了。但我们从中可以了解一下WPE,了解一下网络封包技术。让大家学到网络游戏数据修改的基础知识,即捕捉网游数据包、锁定跟踪数据、发送虚假数据包等。
二、捕捉数据
首先,先让大家大概了解一下WPE修改网络游戏数据的基本思路。
概括地讲,就是通过WPE捕捉客户端与网游服务器之间不断传输着的数据,从而变更传送到服务器的正确信息,骗取服务器做出我们想要的处理结果。所以,我们现在要做的第一步就是拦截发往游戏服务器的正常数据封包并加以修改。
启动劲乐团客户端程序O2Jam.exe,进入任意一个服务器后切换到桌面(必须进入房间选择界面),然后运行WPE,将会出现如图所示的界面。

点击“目标程序”,在列表框内选择游戏程序“O2Jam.exe”并点击“打开”,然后点击追踪控制台“缓冲器”上方的三角形按钮开始抓取数据封包。
抓取开始后,待下方的“封包”百分比指示器显示抓取数据文件大小到“5K”以上即右边的内存缓冲量为1%以上时,就可以点击最右边的正方形按钮停止抓取操作了。相对来讲,封包抓取时间越长,抓取的精度越高,如果时间太短的话,可能会抓取到网络游戏中用于通讯验证的数据,而这些数据中不包含游戏内容数据,对我们来讲就是废物一堆。
停止抓包后,在WPE右边的编辑窗口内会出现所有抓取到的数据包,在“发送者IP”中可以看到游戏服务器的IP,而“接收者IP”就是我们自己的IP。我们可以选择数据包大小在9字节以上,活动类型为“接受”的任何一段数据(笔者抓取到的数据包ID为6),然后点击鼠标右键,选择“设置用这个封包ID到追踪器”。这样一来,我们就盯上了一个正常的数据封包,接下来就可以以它为突破口进行下一步的发送欺骗数据的操作。
三、发送欺骗数据
重要的数据已经抓到手了,现在要做的就是利用我们手中早已准备好的虚假数据包来替换正常数据发送出去,而突破口就在被我们追踪的ID为6的封包数据上。
选中下方WPE主程序“过滤控制台”中的“发送”标签,点击文件夹图标的“打开”按钮,载入已经获取的作弊文件(sq.spt)。
载入成功后,就可以点击过滤器中的三角形按钮执行发送虚假封包的操作,点击该按钮后会出现“发送设置”对话框。
在“发送”选项里一定要选择“连续地”,这样才能保证被修改的数据封包源源不断地提交到游戏服务器,而“开启封包ID”栏的数字不需要更改(根据追踪的数据包不同,此ID也不同),最后点击右边的大三角形按钮开始发送欺骗数据。
如果欺骗数据封包发送成功的话,在“Sent”栏中会显示发送封包的数量(随时间推移会依次递增)。其作用表现为WPE不停地对游戏服务器提交游戏超高连击率(这款网络游戏根据一首歌曲游戏的按键正确次数来发放虚拟游戏币)。同时,由于交换数据没有加密的缘故,服务器自然也会认为这是真实的成绩,自然会给你大把大把的“钞票”。
四、财源滚滚来
通过上面的操作,我们已经成功完成了原始数据的捕捉和虚假数据的发送,心急的读者朋友可能早就等不及了,现在我们可以收网以便开始最后的作弊——“刷钱操作”。
现在我们再次切换到游戏主界面,依次点击“创建房间→个人房间”进入游戏准备窗口。任选一首歌,点击“开始”即可,在歌曲LOGO显示之后,你会发现游戏并未按照平时那样进行,而是直接出现了本轮游戏结束的统计画面。
最令人不可思议的是,统计信息中最高连击数竟然高达65535。下面的GEM金钱显示为超出正常情况的5247,实际上得到的金钱数是5247的数倍。这是因为一般按照正常游戏,一个人无论多厉害,要想在一盘游戏过后获取超过4位数的金钱奖励是不可能的,所以游戏设计人员在金钱获取框只预留了4位的显示格。如果你有耐心的话,只要不停地点击“再试一次”就可以使自己在数分钟之内变成全区首富,商店里那些平日“高不可攀”的贵人用品你也可以尽收囊中了。
笔者在反复试验6次后就已经得到了170多万的“金钱”(这可是24小时不停地玩上一个月都赚不来的啊)。有了这些钱,你就可以买下游戏中所有的道具和装备。
如果利用该漏洞进行刷钱的玩家很多,那么将会直接导致的后果就是游戏中每人都拥有最高等级的装备,人人都有完全相同的道具……
五、抛砖引玉
造成可以修改封包的原因在于现在的网络游戏数据量实在太大,而很多服务器只充当了一个处理即时数据和保存资料的角色,其实大多数游戏动作的运算是在玩家的机器上完成的,这样才使得利用WPE修改数据成为了可能。
但是万事都有其局限性,如果你所接触的网络游戏的服务器只接收你在键盘上的操作,一切数据处理都在服务器上完成(就是说不存在封包交换),那么这个方法就行不通了。
可以这么说,客户端和服务器之间只要存在网络数据交换,那么WPE就一定可以捕捉到这些信息,从而被别有用心的玩家恶意利用,达到自己不可告人的目的。这对网游服务器的威胁是极大的,因为玩家非法提交的数据量会是正常数据的成百上千倍,这无异于给网络游戏服务器增加了很大的数据处理量,一旦这样的技术流传开来,后果不堪设想。网游服务商如果不及时解决,那么就只有等着服务器当机了,而以在线人数多少决定盈利数量的网络游戏公司面临的将不仅仅是简单的重新启动服务器……
小知识
什么是WPE?
严格地说,WPE不是外挂,它的英文全称是“Winsock Packet Editor”,中文名为“Winsock封包编辑器”。如果你不想费时去学习一些高深的网络知识,那你可以在网上下载一些高手发布的网络游戏的作弊封包,然后按照本文介绍到的方法进行操作,就可达到各种各样的作弊或修改游戏数据的目的。当然如果你有朝一日学有所成,有了这个工具,再加上一定的网络传输知识,你就可以制作出很多网络游戏的外挂。
什么是封包?
Internet用户使用的各种信息服务,其通讯的信息最终均可以归结为以IP包为单位的信息传送。IP包除了包括要传送的数据信息外,还包含有信息要发送到的目的IP地址、信息发送的源IP地址,以及一些相关的控制信息。对于网游领域的封包来说,我们所关心的内容当然只是IP包中的数据信息,我们可以使用上面介绍的WPE轻松截获客户端与服务器之间的交换数据,然后根据自己的需要进行修改,达到各种私人目的。
编后
大型网络游戏“劲乐团”在数据交换的安全方面竟如此轻率,令人深思。市面上林林总总的网络游戏上百款,其中在数据保护方面做得不够完善的比比皆是,这使得外挂和作弊风波不断,严重扰乱了正常的网络游戏秩序。我们需要读者朋友们在掌握技术的同时,自觉维护网络游戏的秩序。而作为游戏提供商,在完善游戏的可玩性的同时,还应加强自身的安全保护措施,这样才能使自己立于不败之地。
工具下载地址:http://www.sixvee.com/520yy/cpcw/wpe.rar