网吧收费系统开发告一段落后,江飞宇终于可以把时间和精力全部投入《传奇》外挂的开发上,江飞宇下载了一个传奇的安装包,每个职业角色都注册了一个游戏账号试玩了2个多星期,慢慢熟悉整个游戏世界的架构、职业特色、等级划分、经验、血量、魔法值等设定。
这之后江飞宇经过了认真思考,筛选着合适制作外挂的设定,其实外挂的原理并没有普通人想的那么难,外挂的主要原理就是在游戏中用封包和抓包等工具包对游戏本身或游戏服务器提交假的参数从而改变游戏中的人物能力及某些设定。
外挂在使用运行时主要有两种类型:一种是后台外挂,另一种是脱机外挂。
后台外挂是指将外挂程序嫁接到游戏客户端程序当中,通过截取并修改客户端发送到游戏服务器的数据而实现各种功能的增强,一般来说客户端向服务器发出某些请求,比如拾取、加速、闪躲等指令都是通过封包的形式和服务器交换数据,其实现的原理主要依赖于封包对客户端和服务器之间往来的数据的截取和分析,并能在此基础上对有用的数据进行修改,模拟客户端发送给服务器,这样就可以实现修改游戏的目的。
脱机外挂顾名思义就是脱离客户端程序,脱机是后来逐渐流行起来的一种外挂模式,要开发脱机的外挂必须解了整个游戏的客户端和服务器之间的通讯的数据包的所有内容以后,通过对游戏客户端源代码的解析后,可以模拟正版客户端进行登录、游戏,能够实现正版客户端所没有的功能,比如:自动打怪、捡东西、交易等,也就是我们常说的自动挂机。
游戏外挂从使用功能方向上来说,可以分为辅助性外挂和破坏性外挂,辅助外挂指为游戏角色提供增加血量、移动加速、掉落自动拾取、修改时间快速回蓝或者减少复活等待时间等这些辅助游戏的功能;破坏性外挂一般会完全破坏游戏平衡,可以令游戏角色无视限制能够穿墙、飞天、无敌、无限刷金币等变态功能。
江飞宇经过深思熟虑后还是决定做辅助性外挂,破坏性外挂不仅极易受到其他用户的举报和服务器的扫描监测,而且大面积破坏游戏平衡也会导致大量的普通玩家对游戏失去兴趣,大大减少游戏的生命周期,如果游戏都没有生命力了,还谈什么外挂呢。
确定外挂的开发方向后,江飞宇编写了一个跟踪软件实现了对客户端运行程序的动态跟踪,又用RDK工具包对游戏客户端进行了静态解析,以此截取了客户端与服务器直接的交换数据,并通过反汇编语言和加密算法对游戏服务器端与客户端之间经过加密的交换数据进行了逆推破解,好在目前主流的几种加密算法在后世都已经被人破解,江飞宇花了不到一天的时间就把加密数据还原成了明文,这样只要把需要修改的指令通过同一种加密算法传输到服务器端就完成了开挂过程。
外挂编写完成后,江飞宇还需要做两件事,一是对整个外挂程序进行封装,对核心源代码进行了加固保护,防止被其他人破解;二是加入了激活验证码,这样就能保证每一份外挂安装包只能在一台电脑安装一次。
当然了,江飞宇为了照顾很多只能在网吧上机的玩家,为每一个激活验证码都设定了3次的有效验证次数,这样就相当于购买一份外挂安装包可以为3台电脑进行安装,完全可以称得上是业界良心了。
又花了一个多星期的时间,江飞宇把整个外挂包的代码全部编程完,总共封装了6个外挂功能在里面,江飞宇在自己电脑上安装了一套外挂程序,经过测试后达到了百分之90以上的设计效果,江飞宇在接下来的时间里一边用自己的游戏账号挂机封测,一边修复暴露出来的BUG。
考虑到激活验证码的时效性,江飞宇又编写了一套验证码生成器,通过与每一套外挂包的序列码进行关联,生成对应的激活验证码,这样就把所有方面都考虑了进去。