您现在的位置是:娱乐 >>正文

万界魔主传奇私服漏洞

娱乐93人已围观

简介去年冬天,我在一个私服玩家群里看到有人发截图:角色背包里躺着+65535的“魔主之刃”,攻击力显示为负数,但一刀砍下去,全屏怪物直接消失。群里炸了锅,有人喊“这是卡了数据库溢出”,有人骂“GM自己卖装 ...

去年冬天,魔主我在一个私服玩家群里看到有人发截图:角色背包里躺着+65535的传奇“魔主之刃”,攻击力显示为负数,私服但一刀砍下去,漏洞全屏怪物直接消失。魔主群里炸了锅,传奇有人喊“这是私服卡了数据库溢出”,有人骂“GM自己卖装备卖疯了”。漏洞那张截图后来被转了几十个群,魔主成了《万界魔主》私服圈里最出名的传奇笑话之一。

《万界魔主》本身是私服个老传奇类私服,开服三年多,漏洞换过七八个运营团队。魔主它最吸引人的传奇地方是“万界”设定——不同区服的玩家能跨服PK,装备数据互通。私服听起来很酷,但问题就出在这。跨服数据同步依赖一个老旧的MySQL触发器,写这段代码的人显然没考虑过并发写入。去年11月,有人发现只要在凌晨三点到四点之间,用特定顺序切换三个不同区服的仓库,就能把A服的装备复制到B服,同时保留A服的原件。这个漏洞在私服圈叫“镜像复制”,不算新鲜,但《万界魔主》的特别之处在于:复制出来的装备会继承原始装备的“魔化值”,而魔化值超过一定阈值后,会触发服务端的整数溢出保护。

溢出保护本身是好事,但写这段代码的人用了有符号32位整数来存储魔化值。当魔化值超过21亿,它就会变成负数。负魔化值的装备在攻击判定时,会被服务端误判为“治疗友方单位”。于是就有了那张截图里的效果:一刀下去,怪物全没了,因为伤害计算变成了对怪物造成负伤害,而负伤害在游戏逻辑里等于即死。更离谱的是,这个漏洞被公开后,有人专门做了个脚本,自动在跨服战场里刷负魔化值装备。那段时间,跨服战场根本没法玩,进去就是互相秒杀,连NPC都活不过三秒。

运营团队的反应很慢。第一次修复是在漏洞公开后第五天,他们加了个魔化值上限检查,但只检查了装备生成时的值,没检查跨服传输后的值。结果第二天就被人绕过了——只要在传输过程中用另一个漏洞修改内存,就能把魔化值卡在21亿以下但接近上限的位置,照样触发溢出。第二次修复更离谱,他们直接把跨服功能关了,但忘了关跨服仓库的API接口。有人写了个简单的HTTP请求脚本,直接往仓库里塞负魔化值装备,照样能生效。直到第三次,他们才把整个跨服数据同步模块重写了一遍,用64位整数替代了32位,同时加了服务端校验。这时候已经过去快一个月了,私服人气掉了七成。

我后来跟一个做过私服开发的朋友聊起这事。他说这种漏洞在私服圈太常见了,根本原因不是技术不行,而是“能跑就行”的心态。很多私服代码是从网上扒的,或者从别的服直接复制过来的,原作者可能自己都没测试过边界情况。跨服功能尤其容易出事,因为涉及到多个服务端之间的数据交换,任何一个环节的假设不成立,就会出问题。《万界魔主》的运营团队显然没做过压力测试,也没想过有人会恶意利用数据同步的时序漏洞。他们可能觉得,一个私服而已,玩家能玩就行,哪来那么多黑客。

但玩家不这么想。私服圈里有句话叫“漏洞就是玩法”。一旦有人发现漏洞,就会迅速传播,因为私服本身没有官方保护,玩家之间的信任度很低。你用了漏洞,别人也会用,最后就是比谁更没底线。《万界魔主》的负魔化值装备泛滥后,甚至有人开始在交易平台上卖“漏洞复制教程”,标价50块一份。运营团队封了一批账号,但根本封不完,因为复制装备的成本几乎为零。

这件事最后怎么收场的?运营团队发了个公告,说“已修复所有已知漏洞,并对受影响玩家进行补偿”。补偿内容是每人发一把+9999的“补偿之刃”,属性比正常装备高出一大截。结果又被人发现,这把补偿之刃的魔化值计算方式跟之前被修复的漏洞一模一样,只是把阈值调高了。有人试了试,果然又能触发溢出。这次运营团队没再发公告,直接关服了。三天后,服务器重新上线,所有角色数据回档到漏洞发生前。但玩家已经跑光了,群里只剩下几个卖挂的还在发广告。

私服这东西,说白了就是一群人在灰色地带里找乐子。漏洞是乐子的一部分,但也是毁灭的种子。你没法指望运营团队有多专业,因为他们可能自己都不清楚代码里埋了多少雷。玩家能做的,要么是趁漏洞还在的时候爽一把,要么是早点换个服。至于《万界魔主》,它现在还在运行,只是跨服功能再也没开过。偶尔有人提起那个负魔化值的冬天,大家会笑一笑,然后继续刷怪。

Tags:

相关文章

  • 黑客漏洞攻击

    娱乐

    2017年5月12日,一个普通的周五下午,英国国家医疗服务体系的电脑屏幕开始集体闪烁红色警告。勒索病毒WannaCry像野火一样烧过150个国家,手术被迫取消,急诊室陷入瘫痪。攻击者用的不是什么天顶星 ...

    【娱乐】

    阅读更多
  • deliveryoptimization文件夹可以删除吗 如何删除

    娱乐

    直接说结论:deliveryoptimization文件夹通常可以删除,但删之前得看它出现在哪、属于谁。如果你在Windows系统盘里看到它,大概率是Dell或Intel的预装软件留下的;如果在某个游 ...

    【娱乐】

    阅读更多
  • 国外b站不收费知乎

    娱乐

    打开YouTube,搜索任何一个你熟悉的B站UP主名字,大概率能翻到他们的频道。点进去一看,视频照常更新,内容跟B站上差不多,甚至更全。没有充电专属,没有大会员抢先看,评论区里英文、繁体中文、简体中文 ...

    【娱乐】

    阅读更多


友情链接