库困金条BUG。
前世《传奇》里,城主只要与沙巴克使者对话,选择贮存资金,然后输入-5,000,000,当晚12点后,自己包袱里就会多出5,000,000了,当然,如果输入-5000万,也一样可以。
捆金条BUG则更简单,身上留1002000钱,找仓库管理员把钱捆成金条,因手续费需要2000,结果金条捆好后,背包里的钱数是0,因此判定捆金条操作失败,返还1002000。
于是,金条依然存在,而玩家只需要不断点击捆金条操作,就可以无限刷金条……
这些刷钱BUG,其实原理都是利用了“背包里的钱不能小于0”这个程序逻辑BUG,一旦小于0,系统就会自动判断交易失败,资金原路返还,但另一方面,却又忘了对关联道具或数值进行核查和回收。
改掉相关程序代码后,这些相关刷钱BUG就被全部封死。
以上这些BUG测试,还仅仅只是方杰进行测试的开胃菜而已。
随后,他还用WPE对游戏进行了欺骗性封包测试。
测试到这个程度,就不是测试什么游戏BUG了,封包程序跟游戏BUG其实没什么关联,这属于反封包程序功能测试。
最后测试的结果是……沸腾开发的这款《传奇》,对封包程序毫不设防,一地鸡毛!
通过WPE封包程序,方杰能够轻易做到无限刷钱、刷经验、刷道具,而且整个操作也没费什么时间,只研究了个把两个小时,就已经能够做到这些了。
出现这样的严重问题,不能怪游戏开发团队,毕竟这会儿大家根本没有这方面的意识,甚至大家连WPE这样的封包工具都没听说过,又何谈防范?
要防范服务器被WPE封包程序欺骗,方法也不难,只要将正常游戏封包加密解密独立成一个动态连接库,即DLL文件,供游戏主程序调用进行封包加解密,就能解决大部分问题,工作量并不大。
之所以说只能解决“大部分”问题,是因为道高一尺魔高一丈。
封包和反封包技术,就像黑客攻防战一样,没有永远攻不破的盾,也没有永远防不住的矛,关键还是看谁的技术更厉害。
即便封包进行了加密,技术高超的人,也能对其破解,即便单独建立一个DLL动态链接库,人家也可以拿自己制作的DLL文件将其的替换掉,即便再加入对DLL文件的自检程序,人家还能直接用老客户端登陆游戏,直接绕过自检,即便……
总之