【转贴】封包技术研究

【转贴】封包技术研究

ID:44013298

大小:184.00 KB

页数:13页

时间:2019-10-17

【转贴】封包技术研究_第1页
【转贴】封包技术研究_第2页
【转贴】封包技术研究_第3页
【转贴】封包技术研究_第4页
【转贴】封包技术研究_第5页
资源描述:

《【转贴】封包技术研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、【转贴】封包技术研究莫实我转帖的H的呢,就是希望人家多学点实际的东西。一些东西我们只知道怎么取川别人的,导致了发展受抑制。如果大家都很强R0—立会变的更萸喔!网络游戏多是基于Internet上客户/服务游戏的设计者在其小创造一个庞大的游戏空间,各地的玩家可以通过运行客户端程序同时登录到游戏屮。简单地说,网络游戏实际上就是由游戏开发商提供一个游戏环境,而玩家们就是在这个环境中相对白山和开放地进行游戏操作。那么既然在网器模式,服务端程序运行在游戏服务器上,络游戏中有了服务器这个概念,我们以询传统的修改游戏方法就显得无能为力了。记得我们在单机版的游戏中,随心所欲地通过内

2、存搜索来修改角色的各种属性,这在网络游戏屮就没何任何用处了。因为我们在网络游戏屮所扮演角色的各种属性及各种重要资料都存放在服务器上,在我们口己机器上(客八端)只是显示角色的状态,所以通过修改客户端内存里有关角色的各种属性是不切实际的。那么是否我们就没有办法在网络游戏屮达到我们修改的目的?回答是”否”。我们知道Internet客户/服务器模式的通讯一般采用TCP/1P通信协议,数据交换是通过IP数据包的传输来实现的,一般来说我们客户端向服务器发出某些请求,比如移动、战斗等指令都是通过驰的形式和服务器交换数据。那么我们把本地发出消息称为SEND,意思就是发送数据,服务

3、器收到我们SEND的消息后,会按照既尢的程序把有关的信息反馈给客户端,比如,移动的坐标,战斗的类型。那么我们把客八端收到服务器发來的冇关消息称为RECVo知道了这个道理,接下来我们要做的工作就是分析客户端和服务器Z间往来的数据(也就是封包),这样我们就可以提取到对我们有用的数据进行修改,然后模拟服务器发给客户端,或者模拟客户端发送给服务器,这样就可以实现我们修改游戏的目的了。目前除了修改游戏封包來实现修改游戏的忖的,我们也可以修改客户端的有关程序来达到我们的耍求。我们知道日前各个服务器的运算能力是有限的,特别在游戏中,游戏服务器要计算游戏中所有玩家的状况儿乎是不可

4、能的,所以有一些运算还是要依靠我们客户端來完成,这样乂给了我们修改游戏提供了一些便利。比如我们可以通过将客户端程序脱壳来发现一些程序的判断分支,通过跟踪调试我们可以把一些对我们不利的判断去掉,以此來满足我们修改游戏的需求。在卞儿个章节中,我们将给大家讲述封包的概念,和修改跟踪客户端的有关知识。游戏数据格式和存储:在进行我们的工作Z前,我们需要掌握一些关于计算机屮储存数据方式的知识和游戏屮储存数据的特点。本教程内,我们提供了金庸群侠传,以及网络三国这两个游戏的修改实际例子,因为这两款游戏祁是对封包进行过加密运算的现在我们开始!首先,你要知道游戏屮储存数据的儿种格式,

5、这儿种格式是:字节(BYTE)、字(WORD)和双字(DOUBLEWORD)),或者说是8位、16位和32位储存方式。字节也就是8位方式能储存0~255的数字;字或说是16位储存方式能储存0~65535的数;双字即32位方式能储存0-4294967295的数。为何要了解这些知识呢?在游戏屮各种参数的最大值是不同的,冇些可能100左右就够了,比如,金庸群侠传中的角色的等级、随机遇敌个数等等。而有些却需要大于255甚至大于65535,象金庸群侠传中角色的金钱值可达到数百力。所以,在游戏小各种不同的数据的类型是不一样的。在我们修改游戏时需耍寻找准备修改的数据的封包,在这

6、种时候,止确判断数据的类型是迅速找到正确地址的重要条件。在计算机中数据以字节为基本的储存单位,每个字节被赋予一个编号,以确定各白的位置。这个编号我们就称为地址。在需要用到字或双字时,计算机用连续的两个字节來组成一个字,连续的两个字组成一个双字。而一个字或双字的地址就是它们的低位字节的地址。现在我们常用的Windows9x操作系统中,地址是用一个32位的二进制数表示的。而在平时我们用到内存地址时,总是用一个8位的16进制数来表示它。二进制和十六进制乂是怎样一冋事呢?简单说來,二进制数就是一种只有0和1两个数码,每满2则进一位的计数进位法。同样,16进制就是每满十六就

7、进一位的计数进位法。16ffl制有0・・F十六个数字,它为表示十到十五的数字采用了A、B、C、D、E、F六个数字,它们和十进制的对应关系是:A对应-f10,B对应于11,C对应于12,D对应于13,E对应于14,F对应于15。而口,16进制数和二进制数间有一个简单的对应关系,那就是;四位二进制数相当于一位16进制数。比如,一个四位的二进制数1111就相当于16进制的F,1010就相当于Ao了解这些垄础知识对修改游戏有着很大的帮助,下面我就要谈到这个问题。山于在计算机中数据是以二进制的方式储存的,同时16进制数和二进制间的转换关系十分简单,所以人部分的修改工具在显示

8、计算机中的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。