流行外挂简介

转载自:http://www.hackbase.com/tech/2009-02-01/43528.html

外挂分好几种:
  常见有:
  1。完全模拟按键的,甚至不管游戏运行情况,人物情况,纯粹的制作一个按键和鼠标的操作顺序,这个是最简单的,有很多工具直接提供,使用时候只要事先录制操作动作脚本就可以了,这个技术含量较低,属于入门级。
  2。根据游戏客户端的当前版本,找到内存中存放人物属性的位置、物品信息、怪物信息,甚至还有一些其他信息,然后根据这些信息,采用模拟按键鼠标的方式触发命令,比如人物血量低于一个数值就按某个加血的快捷键,或者见到物品信息,就按某个捡物的快捷键,这个属于第二种模式,比第一种模式更好更精确。
  3。根据游戏客户端的当前版本,找到内存中存放人物属性的位置、物品信息、怪物信息,甚至还有一些其他信息,同时采用动态跟踪软件找到游戏客户端进行动作的函数入口以及参数情况,比如找到打怪的函数,往往每个游戏都有这个函数,参数一般是怪物的ID等信息,还能找到走路的函数,和NPC交互的函数,使用物品(包括药品和道具)的函数等等,有了这些,可以根据前面得到的人物怪物地上物品NPC等信息,调用相应需要调用的函数,这个属于第三种,技术含量比前几种高。
  4。不分析游戏客户端的怪物信息存放地址和动作函数入口地址,只分析游戏的封包加密解密算法,这样的方式虽然比较复杂,但是对游戏客户端几乎不做任何影响,反外挂功能相对比较难侦测。一般采用自己构造一个sock动态链接库,放到游戏运行目录(这里说的是运行的当前目录,不一定是游戏安装的目录)中,让游戏程序首先调用的是我们提供的sock库。这样的方式有一个比较明显的缺陷,就是部分游戏的动作是由操作者操作时候发生变化,比如走路、跳等,由于每种游戏的方式不同,如果采用本方式做外挂,可能人物动作有些问题,会出现瞬移等情况。这种技术含量也比较高。
  5。脱机挂,在上面第四种方式的基础上,脱离游戏客户端,直接把需要用到的所有命令封包的格式掌握,并且按照预先制定的规则和逻辑由自己程序和服务器交互信息,实现角色自动动作。这样的模式技术含量更高。
  以上几种方式都是实现外挂的可行途径。
  另外,作为好的外挂,一个通用的脚本系统是必不可少的,一般采用解释执行的方式进行操作,所有命令归根结底都是反映到外挂向服务器发送角色动作的信息。另外包括地图系统,这个是必须去分析的,尤其是脱机挂,必须要包含游戏的地图信息,跳点信息,一般来说可以直接使用游戏的地图,不过往往游戏地图和地形地貌信息包含在一起,这个时候,建议直接取出游戏中地图本身的通过性信息,专门制作一个简化的地图文件。关于AI系统,我就不说什么了,网上有很多介绍的。
  有时候针对不同游戏的特点,往往几种方式可能同时采用,比如第三种和第四种就可能同时采用。
  关于伪造封包,往往都是第四第五种方式比较容易实现。说白了,就是修改本来的封包数据。
  比如曾经有个游戏,支持匿名发言,但是实际上匿名发言人也是从服务器送到客户端游戏程序的,只是客户端知道这个是匿名信息,因此展现给玩家的时候就把发言人的名字隐去,这个时候,只要修改收到的这样的封包,把匿名标志改成非匿名的标志,那么游戏客户端就把这个封包当成是应该显示发言人的封包,这样玩家就能看到匿名信息了。同样道理,客户端发送到服务器端的,也可以采用这样的方式实现修改封包。但是如果想通过修改封包达到类似复制这样的恶意行为,往往比较困难,除非游戏有漏洞。因为一般来说,大多数的判断都是在服务器上进行的,服务器会判断所有发送到服务端的信息是否合理,比如,本来你就100金,你非要修改封包说给人家200金,游戏服务器是不会认可的,只会反馈给你一个失败的信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值