网络游戏外挂编写原理(一)

网络游戏外挂编写原理(一)
2007-08-21 21:25

一、 前言

  所谓游戏外挂,其实是一种游戏外辅程序,它可以协助玩家自动产生游戏动作、修
改游戏网络数据包以及修改游

戏内存数据等,以实现玩家用最少的时间和金钱去完成功力升级和过关斩将。虽然,现
在对游戏外挂程序的“合法”

身份众说纷纭,在这里我不想对此发表任何个人意见,让时间去说明一切吧。

  不管游戏外挂程序是不是“合法”身份,但是它却是具有一定的技术含量的,在这
些小小程序中使用了许多高端

技术,如拦截Sock技术、拦截API技术、模拟键盘与鼠标技术、直接修改程序内存技术
等等。本文将对常见的游戏外挂

中使用的技术进行全面剖析。

  二、认识外挂

  游戏外挂的历史可以追溯到单机版游戏时代,只不过当时它使用了另一个更通俗易
懂的名字??游戏修改器。它可

以在游戏中追踪锁定游戏主人公的各项能力数值。这样玩家在游戏中可以达到主角不掉
血、不耗费魔法、不消耗金钱

等目的。这样降低了游戏的难度,使得玩家更容易通关。

  随着网络游戏的时代的来临,游戏外挂在原有的功能之上进行了新的发展,它变得
更加多种多样,功能更加强大

,操作更加简单,以至有些游戏的外挂已经成为一个体系,比如《石器时代》,外挂品
种达到了几十种,自动战斗、

自动行走、自动练级、自动补血、加速、不遇敌、原地遇敌、快速增加经验值、按键精
灵……几乎无所不包。

  游戏外挂的设计主要是针对于某个游戏开发的,我们可以根据它针对的游戏的类型
可大致可将外挂分为两种大类

  一类是将游戏中大量繁琐和无聊的攻击动作使用外挂自动完成,以帮助玩家轻松搞
定攻击对象并可以快速的增加

玩家的经验值。比如在《龙族》中有一种工作的设定,玩家的工作等级越高,就可以驾
驭越好的装备。但是增加工作

等级却不是一件有趣的事情,毋宁说是重复枯燥的机械劳动。如果你想做法师用的杖,
首先需要做基本工作--?砍树。

砍树的方法很简单,在一棵大树前不停的点鼠标就可以了,每10000的经验升一级。这
就意味着玩家要在大树前不停的

点击鼠标,这种无聊的事情通过"按键精灵"就可以解决。外挂的"按键精灵"功能可以让
玩家摆脱无趣的点击鼠标的工

作。

  另一类是由外挂程序产生欺骗性的网络游戏封包,并将这些封包发送到网络游戏服
务器,利用这些虚假信息欺骗

服务器进行游戏数值的修改,达到修改角色能力数值的目的。这类外挂程序针对性很
强,一般在设计时都是针对某个

游戏某个版本来做的,因为每个网络游戏服务器与客户端交流的数据包各不相同,外挂
程序必须要对欺骗的网络游戏

服务器的数据包进行分析,才能产生服务器识别的数据包。这类外挂程序也是当前最流
利的一类游戏外挂程序。

  另外,现在很多外挂程序功能强大,不仅实现了自动动作代理和封包功能,而且还
提供了对网络游戏的客户端程

序的数据进行修改,以达到欺骗网络游戏服务器的目的。我相信,随着网络游戏商家的
反外挂技术的进展,游戏外挂

将会产生更多更优秀的技术,让我们期待着看场技术大战吧......

  三、外挂技术综述

  可以将开发游戏外挂程序的过程大体上划分为两个部分:

  前期部分工作是对外挂的主体游戏进行分析,不同类型的外挂分析主体游戏的内容
也不相同。如外挂为上述谈到

的外挂类型中的第一类时,其分析过程常是针对游戏的场景中的攻击对象的位置和分布
情况进行分析,以实现外挂自

动进行攻击以及位置移动。如外挂为外挂类型中的第二类时,其分析过程常是针对游戏
服务器与客户端之间通讯包数

据的结构、内容以及加密算法的分析。因网络游戏公司一般都不会公布其游戏产品的通
讯包数据的结构、内容和加密

算法的信息,所以对于开发第二类外挂成功的关键在于是否能正确分析游戏包数据的结
构、内容以及加密算法,虽然

可以使用一些工具辅助分析,但是这还是一种坚苦而复杂的工作。

  后期部分工作主要是根据前期对游戏的分析结果,使用大量的程序开发技术编写外
挂程序以实现对游戏的控制或

修改。如外挂程序为第一类外挂时,通常会使用到鼠标模拟技术来实现游戏角色的自动
位置移动,使用键盘模拟技术

来实现游戏角色的自动攻击。如外挂程序为第二类外挂时,通常会使用到挡截Sock和挡
截API函数技术,以挡截游戏服

务器传来的网络数据包并将数据包修改后封包后传给游戏服务器。另外,还有许多外挂
使用对游戏客户端程序内存数

据修改技术以及游戏加速技术。

  本文主要是针对开发游戏外挂程序后期使用的程序开发技术进行探讨,重点介绍的
如下几种在游戏外挂中常使用

的程序开发技术:

  ● 动作模拟技术:主要包括键盘模拟技术和鼠标模拟技术。

  ● 封包技术:主要包括挡截Sock技术和挡截API技术。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值