繁体中文  设为首页  加入收藏 
当前位置:学院首页 >> 开发 >> 外挂开发 >> 自己学做外挂


自己学做外挂 (2)

2010-05-27 16:48:04  www.hackbase.com  来源:互联网
随着网络游戏的益火爆,很多玩家都投身到游戏中。目前很多玩家都依赖于一些游戏的外挂程序来进行游戏。那么做一个游戏的外挂程序是否是一件很困难的事呢?回答是"否",诚然编写一些程序是需要一些基本知识 ...
双字的地址就是它们的低位字节的地址。

    现在我们常用的Windows 9x操作系统中,地址是用一个32位的二进制数表示的。而在平时我们用到内存地址时,总是用一个8位的16进制数来表示它。

    二进制和十六进制又是怎样一回事呢?

    简单说来,二进制数就是一种只有0和1两个数码,每满2则进一位的计数进位法。同样,16进制就是每满十六就进一位的计数进位法。16进制有0--F十六个数字,它为表示十到十五的数字采用了A、B、C、D、E、F六个数字,它们和十进制的对应关系是:A对应于10,B对应于11,C对应于12,D对应于13,E对应于14,F对应于15。而且,16进制数和二进制数间有一个简单的对应关系,那就是;四位二进制数相当于一位16进制数。比如,一个四位的二进制数1111就相当于16进制的F,1010就相当于A。

    了解这些基础知识对修改游戏有着很大的帮助,下面我就要谈到这个问题。由于在计算机中数据是以二进制的方式储存的,同时16进制数和二进制间的转换关系十分简单,所以大部分的修改工具在显示计算机中的数据时会显示16进制的代码,而且在你修改时也需要输入16进制的数字。你清楚了吧?

    在游戏中看到的数据可都是十进制的,在要寻找并修改参数的值时,可以使用Windows提供的计算器来进行十进制和16进制的换算,我们可以在开始菜单里的程序组中的附件中找到它。

    现在要了解的知识也差不多了!不过,有个问题在游戏修改中是需要注意的。在计算机中数据的储存方式一般是低位数储存在低位字节,高位数储存在高位字节。比如,十进制数41715转换为16进制的数为A2F3,但在计算机中这个数被存为F3A2。

    看了以上内容大家对数据的存贮和数据的对应关系都了解了吗? 好了,接下来我们要告诉大家在游戏中,封包到底是怎么一回事了,来!大家把袖口卷起来,让我们来干活吧!

    二:什么是封包?

    怎么截获一个游戏的封包?

    怎么去检查游戏服务器的ip地址和端口号?

    Internet用户使用的各种信息服务,其通讯的信息最终均可以归结为以IP包为单位的信息传送,IP包除了包括要传送的数据信息外,还包含有信息要发送到的目的IP地址、信息发送的源IP地址、以及一些相关的控制信息。当一台路由器收到一个IP数据包时,它将根据数据包中的目的IP地址项查找路由表,根据查找的结果将此IP数据包送往对应端口。下一台IP路由器收到此数据包后继续转发,直至发到目的地。路由器之间可以通过路由协议来进行路由信息的交换,从而更新路由表。

    那么我们所关心的内容只是IP包中的数据信息,我们可以使用许多监听网络的工具来截获客户端与服务器之间的交换数据,下面就向你介绍其中的一种工具:WPE。

    WPE使用方法:

    执行WPE会有下列几项功能可选择:

    SELECT GAME

    选择目前在记忆体中您想拦截的程式,您只需双击该程式名称即可。

    TRACE

    追踪功能。用来追踪撷取程式送收的封包。

    WPE必须先完成点选欲追踪的程式名称,才可以使用此项目。

    按下Play键开始撷取程式收送的封包。

    您可以随时按下 | | 暂停追踪,想继续时请再按下 | | 。

    按下正方形可以停止撷取封包并且显示所有已撷取封包内容。

    若您没按下正方形停止键,追踪的动作将依照OPTION里的设定值自动停止。

    如果您没有撷取到资料,试试将OPTION里调整为Winsock Version 2。

    WPE 及 Trainers 是设定在显示至少16 bits 颜色下才可执行。

    FILTER

    过滤功能。用来分析所撷取到的封包,并且予以修改。

    SEND PACKET

    送出封包功能。能够让您送出假造的封包。

    TRAINER MAKER

    制作修改器。

    OPTIONS

    设定功能。让您调整WPE的一些设定值。

    FILTER的详细教学

    - 当FILTER在启动状态时 ,ON的按钮会呈现红色。

    - 当您启动FILTER时,您随时可以关闭这个视窗。FILTER将会保留在原来的状态,直到您再按一次 on / off 钮。

    - 只有FILTER启用钮在OFF的状态下,才可以勾选Filter前的方框来编辑修改。

    - 当您想编辑某个Filter,只要双击该Filter的名字即可。

    NORMAL MODE:

    范例:

    当您在 Street Fighter Online ﹝快打旋风线上版﹞游戏中,您使用了两次火球而且击中了对方,这时您会撷取到以下的封包:

    SEND-> 0000 08 14 21 06 01 04

    SEND-> 0000 02 09 87 00 67 FF A4 AA 11 22 00 00 00 00

    SEND-> 0000 03 84 11 09 11 09

    SEND-> 0000 0A 09 C1 10 00 00 FF 52 44

    SEND-> 0000 0A 09 C1 10 00 00 66 52 44

    您的第一个火球让对方减了16滴﹝16 = 10h﹞的生命值,

    而您观察到第4跟第5个封包的位置4有10h的值出现,应该就是这里了。

    您观察10h前的0A 09 C1在两个封包中都没改变,可见得这3个数值是发出火球的关键。

    因此您将0A 09

[1] [2] [3] [4] [5]

责任编辑:Geeglo        



本文引用网址: 

自己学做外挂的相关文章
发表评论