您现在的位置是:综合 >>正文
传奇复制物品漏洞方法
综合26人已围观
简介2001年秋天,热血传奇1.10版“三英雄传说”刚上线三个月,比奇城外的鹿群还没被屠干净,一个叫“夜风”的法师在僵尸洞三层捡到了一本《召唤骷髅》。他随手一按,技能栏里多出个图标。再按一次,服务器卡了半 ...
2001年秋天,传奇热血传奇1.10版“三英雄传说”刚上线三个月,复制方法比奇城外的物品鹿群还没被屠干净,一个叫“夜风”的漏洞法师在僵尸洞三层捡到了一本《召唤骷髅》。他随手一按,传奇技能栏里多出个图标。复制方法再按一次,物品服务器卡了半秒,漏洞地上多出两具骷髅。传奇第三下,复制方法四具。物品他愣在网吧的漏洞CRT显示器前,旁边叼着红塔山的传奇网管凑过来看了一眼,说:“兄弟,复制方法你卡BUG了。物品”
这就是传奇复制物品漏洞最早的模样——技能复制。原理不复杂:当客户端向服务器发送“使用技能”指令时,如果网络延迟超过阈值,服务器会重复执行同一指令。夜风发现的不是物品复制,而是技能实体化。但三天后,有人用同样的延迟原理,在交易窗口按“确认”的同时拔掉网线,再插上——背包里的金条变成了两根。
交易漏洞:拔网线的艺术
沙巴克武器店门口,一个穿轻盔的战士摆摊卖祝福油。买家点开交易框,放上50万金币,卖家放上祝福油。双方点确认的瞬间,卖家突然拔掉网线。客户端显示交易成功,金币进了卖家背包,祝福油还在。等卖家重新登录,服务器回档判定交易无效,但金币已经被转移到了小号身上。这个漏洞在2002年春节前后被大规模利用,盛大封了三千多个账号,但复制出来的金条已经流进市场,比奇城的金价从1:10万崩到1:3万。
我亲眼见过一个叫“铁匠铺老张”的玩家,在盟重土城用这个方法一晚上复制了四十把裁决之杖。他后来跟我说,诀窍不在拔网线,而在拔的时机——必须在服务器返回“交易成功”数据包之前切断连接,但又不能太早,否则服务器判定交易取消。这个时间窗口大概0.3秒,比眨眼还短。
背包溢出:让系统算错数
2003年“江山无限”版本更新后,出现了更隐蔽的复制法。角色背包有46格,如果强行往满背包里塞第47件物品,服务器会触发溢出保护,把多出来的物品丢到地上。但有人发现,如果在背包满的瞬间,通过仓库管理员快速存取,让系统同时处理两个物品移动请求,服务器会错误地把同一件物品复制到背包和地上各一份。
具体操作:先往背包塞满46个随机物品,然后打开仓库,把一件装备从仓库拖到背包第46格,同时按快捷键打开地摊界面。系统在0.1秒内收到两个冲突指令,有概率把装备同时写入背包和地面。这个漏洞在2003年夏天被广泛传播,猪洞七层的地上经常莫名其妙出现一堆炼狱和骨玉权杖。盛大后来修改了背包数据结构,加了物品唯一ID校验,才堵住这个口子。
为什么堵不完
传奇的复制漏洞从来不是单一技术问题。早期服务器用的是Delphi写的服务端,数据库是SQL Server 2000,物品表的主键用的是自增ID。复制出来的物品ID相同,但数据库允许重复插入——因为主键约束被开发者手动关了,为了提升写入速度。这个设计缺陷在2001年没人注意,等到2004年“热血神鹰”版本,还有人用类似方法复制金刚石。
更关键的是,复制漏洞的传播靠的是玩家口口相传。一个漏洞被发现,三天内就能传遍十几个服务器。官方补丁还没发,复制品已经塞满了沙巴克仓库。我认识一个叫“小虾米”的玩家,他专门收复制出来的装备,低价买进,等官方封号后再高价卖出——因为封号会销毁复制品,市场上真品反而涨价。这生意他做了两年,赚了一套房。
现在私服里还有人研究这些老漏洞。去年我进了一个1.76复古服,看见有人在比奇仓库门口喊“复制装备,包教包会”。我私聊问他方法,他发来一段脚本,还是2002年那套拔网线交易法。服务器是新的,代码是旧的,漏洞也是旧的。有些东西,二十年都没变过。
Tags:
相关文章
济南负责招聘的公司
综合济南的招聘市场,比大明湖的水深多了。我见过太多怀揣简历的年轻人,在泉城路的人才市场里挤得满头大汗,最后却只换来一句“回去等通知”——然后石沉大海。这不是个例,而是这座城市的常态。 真正在济南负责招聘的 ...
【综合】
阅读更多网站违法
综合昨天下午,我蹲在法院旁听席上,看着那个二十出头的程序员被法警带下去。他写了个爬虫脚本,抓了某视频网站两百万条用户数据,挂在暗网上卖。判了三年。他妈妈在第二排哭得喘不上气,嘴里反复念叨:“他就是觉得好玩 ...
【综合】
阅读更多柳州融水遴选招标代理机构
综合柳州融水苗族自治县这次公开遴选招标代理机构,报名条件里藏着真东西——要求代理机构必须在本地有固定办公场所,还得提供近三年的业绩证明。这一条直接把那些“挂靠”在南宁、柳州城区的空壳公司挡在了门外。有人觉 ...
【综合】
阅读更多