自己何必巴巴地浪费那么多时间,跑去改施工图、请混混、买电脑、买桌椅、拉宽带,忙乎那么久,实际上顶不上区区一个BUG。
这个BUG,前世李正一听说过的,但从来就没问过具体怎么弄,也不知道如何操作,唯一记得爆发的时间,应该是在白日门开通之后。
前世,李正一未出国混社会之前,在沿海一带成天鬼混,没事就打私服,听人吹牛B说BUG时,听说过捆金条BUG。据说是白日门更新之后,这个BUG才爆发出来,造成传奇金币瞬间贬得一文不值。
相比起其他较为复杂的刷钱刷装备BUG,捆金条BUG理解起来不是很难。不过李正一的性子比较懒惰,绝逼不会去研究这些过时的玩意,也不会花费脑筋去理解那些没用的东西,所以这一世,李正一对于传奇BUG,只知道爆发的大概时间,具体BUG如何操作一窍不通。
捆金条BUG其实是利用背包中金币不能为0的基本原则,让程序处理时产生逻辑性错误,而程序设计时并没有考虑到这一点,同时也没有设置逻辑错误回滚机制。所以一旦出现这个错误,服务器程序在给出金条的同时,再返还玩家背包同等数额的金币,程序认为双方都是合法存在的,因此而形成了刷金条的漏洞。
这个漏洞不是很难,却隐藏在传奇中一年多时间没人知晓,后来才有人无意之中,就像今天的邵琴一样,阴差阳错之下才被发现。
其难点在于,玩家背包中的金币很难巧合地达到1002000这个数值。一旦达到这个数值,玩家在捆金条时,传奇客户端运行程序首先会向服务器发送一道捆金条的请求指令,服务器收到指令后,会判断玩家背包中的金币数量是不是能够完成捆金条的验证要求。
这个验证要求就是金条本身的数额和手续费,总数值就是1000000+2000,所以说,低于这个数值,捆金条指令是没法通过验证的。
服务器通过验证,会发送指令给服务器执行程序,在玩家背包中增加一根金条,同时扣除玩家背包中1002000金币。
这个时候逻辑错误形成了,服务器执行程序给出金条时,是因为玩家背包确实拥有等值的金币数额,这一指令是通过了验证程序合理合法的,所以执行程序不能撤销。服务器执行程序随之扣除玩家资料库背包中1002000金币后,发现玩家背包金币数值为0,而背包金币为0是主程序基本原则中明令禁止不允许出现的。
怎么办?
很简单,服务器执行程序认为,这一次扣除金币的行为是错误的,不能执行,所以必须返还同等数额的金币。
当然,这些原理对于李正一来说,相当于对牛弹琴,他也不需要明白这些,只要知道,现在掌握了一个超级刷钱BUG,那随后无数个服务器,所有金币都可以垄断。
这是多大的一笔财富?
财富其实没多大,李正一又不是傻子,现阶段传奇就三个区服,目前玩家人数顶天就一万出头。虽然金币紧俏,但玩家群体的消费额度是有上限的,卖到一定程度就会卖不动。
如果李正一傻傻地大批量往外倾销金币,会不会被查还不一定,关键是金币一多,就会造成金币市场不稳定。
所以说,这个BUG最大的好处是节约了李正一大量的时间和人力物力,原本需要靠时间累积的金币,现在只需要点一点鼠标就可以。