杂的系列操作,对各种突发事件进行判断和处理。此类外挂往往具有一定的智能。例如,对网游《仙境传说》冲击最大的两个外挂之一的“梦幻仙境”就提供自动寻道的功能:在《仙境传说》中,玩家为了从一个地图的一点到另一点可能需要走很长很长的路,如果曲折多的话,就要每个曲折处都点一下,否则游戏人物会原地不动,因为游戏程序不会识别道路。而如果使用梦幻仙境外挂,那么只要在终点点一下,外挂就会自动寻找合适的路径走过去,这大大的?
4.以所用开发技术为标准的分类
(1)直接模拟鼠标或键盘动作。这类程序本身并非针对网游而开发,适用于一切响应键盘和鼠标消息并有图形界面的程序。具体的使用方法是,使用脚本文件并指定一个操作序列,这个操作序列由鼠标的移动位置和点击动作组成。由于只能模拟鼠标或键盘消息,一切全在游戏客户端的控制之下,所以非法的点击将不会生效,这类外挂提供的功能不会超出游戏客户端对玩家的限制。这类外挂的典型代表是《按键精灵》。
(2)分析并修改游戏数据及代码。目前外挂普遍使用此类开发技术。一般是将外挂注入游戏程序,修改游戏的数据和代码来实现各种功能。将自己的程序注入目标进程后,一般可以为所欲为。通过逆向分析游戏程序,甚至可以直接在游戏中调用游戏相关子程序段来实现任何想要实现的功能。具体说来,逆向分析出相关函数功能、参数以及地址之后,定义函数指针指向该函数地址,接下来就和调用普通函数没有任何差别了。开发这类外挂也有明显的缺点,即开发工作量太大,一旦网游本身更新,就要重新进行逆向分析。这类外挂的典型代表有《传奇》和《奇迹》的大部分外挂。
(3)拦截游戏封包。主要有三种方式实现游戏封包的拦截:代理服务器方式、API钩子方式和SPI方式。代理服务器方式是指让游戏客户端与游戏服务器端的通信过程中经过代理服务器这一中间层,该代理服务器可以在为双方通信做代理时“偷梁换柱”(修改客户端发送的数据包)或者“无中生有”(模拟客户端发送数据包),从而起到欺骗服务器的效果。API钩子和SPI方式都是以替换用户操作系统中的API(应用程序编程接口)函数迫使游戏在调用系统功能时执行外挂的语句段。但是,使用这种开发方式拦截数据封包只是第一步,还需通过解密数据才能真正操作游戏数据。另外,游戏的一些数据结构、物品、地图格式也需要解密。这类外挂的典型代表是《金庸代理》。
(4)独立于游戏客户端运行。在熟悉通信协议后,脱离游戏客户端的机器人程序就诞生了。但是这类开发人员不但要熟悉Winsock编程和汇编语言,而且要对数据结构、算法、面向对象的程序设计、软件工程、人工智能技术有全面的了解。这类程序的代码量非常大,通常在2万行以上,同时前述封包查看技术也被用来分析自己的封包。因为规模较大,所以需要采用建模分析和团队开发。这类外挂的典型代表是:网三工作狂、网金也疯狂、魔力挂机MM、梦幻仙境、KoreEasy等。
市面上90%的外挂属于第(2)种或第(3)种或是它们混合开发的产物。
5.以功能为标准的分类
(1)作弊类。这类工具直接发送伪造的数据,一般通过修改内存或者发送封包实现。此类伪造数据可能因游戏服务器端程序开发中的疏忽,使得服务器进行了错误的处理,造成了游戏人物数据不正常、虚拟物品数据不正常或者游戏中其他数据不正常。这类外挂全都是突破了网游客户端对玩家的限制的程序,因此全都属于恶性外挂。突破了网游客户端对玩家的限制就是作弊。
(2)辅助操作类。这类工具本身可能根本不发送任何数据给服务器,也不影响游戏客户端发送给服务器的数据,仅仅是将原先游戏中没有表现出来或者表现形式不方便的数据内容显示出来,或者是为游戏提供了一些附加功能,或者是使一些操作自
|