WPE详细教程二
本教程的安排如下:首先是讲为什么会有封包,封包的结构是怎样的。
然后介绍TCP/IP技术的相关内容,定位封包在网络传输中的层!
然后介绍WPE的工作界面,以及各功能按扭的作用!
前面的内容属于了解阶段的内容,帮助您了解相关内容,对下面的学习会有帮助!但是您不需要深入认识,只要了解就够了!
下面是进入实质性阶段,这阶段属于理解、运用阶段,要求您完全掌握。
首先是讲封包的拦截,为了方便您学习,我们从最简单的数据入手Internet Explorer 的封包!
然后,我们进入游戏数据的认识和修改阶段,先没有直接进入网络游戏,因为网络游戏的封包是加密的,不容易认,我们从本地连机游戏入手,这里是从连机的暗黑入手,发送的数据都很容易辨认!
接下来就是真正的网络游戏的修改阶段,这里为帮助大家能尽快认识封包特别是加密封包的数据,我们特地提出了两条黄金准则:比较准则、结构准则!熟练地运用这两条准则,您一定可以游刃有余地分析封包,修改游戏更加得心应手!希望您一定认真掌握这些规律!
为了帮助大家彻底掌握封包技术,我们在大家完全掌握了封包后,给大家举出了很多游戏修改的实例,供大家参考学习,这里主要举的例子是:石器、千年、传奇、金庸等常见游戏的修改的典型范例!以帮助大家彻底掌握WPE修改游戏的技术!
在掌握了修改游戏的基础上,我们更进一步:制作可以独立于WPE的外挂,可以不需要WPE而独立运行,这样的外挂即小又方便使用!
讲完制作独立外挂,其实本教程就可以结束了,但是,WPE1.3是win98下运行的,我们为了大家能制作出可以在win2000和winXP下运行的外挂,在最后介绍的是WPE pro0.7c制作外挂的方法!相信您通过本教程的学习,一定会受益匪浅!
现在经过前面那么多的准备,终于可以走如正题了,希望您前面的准备充足,不要一进入正题就满脸雾水!
按照为了关照入门者,我们从最简单的封包开始,首先,我们选择我们经常使用的Internet Explorer研究,我们经常使用它上网浏览网页,对它再熟悉不过了,什么?你不知道什么是Internet Explorer?我倒,下面的这个东西就是了,看看吧!熟悉吧?
一个封包,包含有如下元素,也就是组成部分吧!
1.需要传输的数据(主要的和最重要的部分就是这个,外挂修改的也是这部分)
2.序列号(每个封包必须有自己的序列号,以便到了接收端后可以按照序列号重新组装)
3.IP地址,一般都有这一部分,通过网络解析才知道封包从那里来,到那里去!
当然封包的内容不止这些,但是,我们了解这些就够了。
注意:在传输中,所有数据都是16位或者32位的,所以截获的封包看起来总是怪怪的!
面给一个封包的基本格式,给大家看看(下面是基本封包格式,如果您可以背下来他们的格式,这对您修改游戏是非常有用的!强烈建议您看一些关于封包格式的文章,您就可以很容易地把封包看清楚,很快知道哪个才是真正的数据):
Source Port (16) | Destination Port (16)
Sequence Number (32)
Acknowledgment Number (32)
Data Offset(4) | Reserved (6)|UGR|ACK|PSH|RST|SYN|FIN|Window(16)
Checksum (16) | Urgent Pointer (16)
Options (0 or more 32 bit words + padding)
DATA
...
稍微注意以下,您可以看到,每行的长度都是32字节!
大家看到了吗?data就是数据,那是最关键的部分,我们使用WPE修改的就是那一部分!
关于封包,是网络方面的知识,要写出来,估计可以出一本书了,这里不再详细讲解,如果您要详细学习请您参考相关资料。
为了方便分析,我们把图片都放到一起大家看看!
封包分析2
经过前一章的讲解,相信大家对封包有了粗略的了解,这一章是要大家分析封包,其实封包的拦截不是很宽难,难就难在封包的分析上,从习惯上来说,大家都习惯辨认10进制的东西,对16进制,实在是不习惯,没关系,我们会让大家逐渐习惯的!如果大家愿意更好地掌握16进制,强烈建议大家手里拿一张Asic II码对照表,这样可以方便大家学习,不仅可以反查,而且可以顺查!方便多了!
前一节,我们把网线拔了,先在查上吧,难题要来了!准备好了吗,好,LET‘S GO!
先看下面的图片!
我们来分析一下上面的内容!
首先几点说明,这是对Internet Exproler进行的封包操作,请求的地址暂时不说,您可以分析出来的!下面是分析说明!
首先,本地发送请求到服务器!发送内容是“21”,注意:您一定很容易地认为发送的是“21”,其实,数字也好,字母也好,一定要注意,全都是16进制的,所以,这个“21”不是我们平常的21,而是16进制的21,那我们来算一下21等于多少(计算21转换为10进制等于多少)?21(16位)=2 x 16 + 1 = 33 (10进制),关于进制计算,我们专门的章节有说明的
再查ASCII表,看看33对应的是什么字符?查到了吗?是“!”,呵呵,WPE不是已经在右边给我们显示了吗?不过我们要习惯分析哦,到游戏里面可就没那么多的方便了!
那么发送一个!是什么意思呢?其实这个是网络连接的问题了,不必细究,要详细了解的请查看关于网络连接3次握手的相关内容!这里不做讲解!这个与游戏修改无关!
第3行47是什么意思呢?算一下:47(16)=4 x 16 + 7 = 71(10)括号内16代表16进制,10代表10进制,那么71代表什么?查表ASCII结果:71对应字母“G”
45呢?45(16)=4 X 16 +5 =69(10),查表出来的结果是:E
请你不要看右边的分析,我知道右边有现成的结果,但是你要自己分析,不然你拿着游戏就无从下手了!简单的分析就是这样了,是不是很轻松?好,再继续分析几个!
第15行,的3A什么意思?
3A(16)=3 X 16 + 10 = 58(10)
查表得,58对应“ :”
倒数第2行B7什么意思?
B7(16)=11 X 16 + 7 =183(10)
查表得到183对应:特殊字符,这里我无法帮你打出这个字符,抱歉!
注意,这里WPE也翻译不出来对应的字符了,看到了吗?WPE只翻译了最后两个,如果我们自己需要怎么办?当然是自己分析了,所以说不要看WPE帮你的分析,自己分析很重要!
前面我们已经分析了简单的封包,为了我们以后能分析复杂的封包,我们这里给出分析封包的第一条黄金法则------比较法则!
所谓比较法则就是通过比较,得到 我们需要的东西,封包往往由于于我们平常的习惯有区别,我们难于辨认,只有电脑才喜欢,而且,封包有自己结构,不是一个封包的所有内容都是有用的,其中很多是我们所不需要的,我们不必去详细了解每一部分到底是什么意思,那么我们怎么得到其中的包含的关键信息的部分呢?那就是……比较,对,是比较,方便又准确的方法 。
那么怎么比较呢?请看下面的分析!
1.相同比较
2.不同比较
所谓相同比较,这是游戏中经常用到的!因为游戏封包都是加密的,对同一个内容的封包也是不同的,我们做同一个操作,结果会有不同的封包,这是相同比较,例如,在游戏中,我们卖掉一个小血瓶,看看封包是什么?千万不要以为以后卖血瓶永远是这个封包了,对所有封包都不要有这个思想,否则,祸患无穷!我们再卖一个小血瓶,再看看封包内容,比较一下这两次封包相同的地方在那里,不同的地方在那里?这个很重要哦! 如果完全相同,那我们再卖一个血瓶看看,如果还相同,再卖一个看看,还相同?如果真是这样,10次都是这个结果,我们可以初步断定,血瓶的封包是不变的,我们可以利用了!怎么利用?不用急,在后面说明,现在还早!
如果第一次和第二次得到的封包不完全一样怎么办?比较一下,找到不同的地方在那里,这些地方的区别分别是什么意思,关于不同地方是什么意思的分析,我们不再分析了前面已经分析过了!
如果再卖掉一个血瓶,第三次和第二次也不一样怎么办?老办法,分析相同的地方和不同的地方啊!
分析下面两个封包:比较法则----相同比较
前面说了相同比较,这节我们详细介绍一下:
比较下面两个封包:
封包一:
游戏名称:快打旋风线上版?#123
发一个小火球:你可能得到如下封包:
前面说了相同比较,这节我们详细介绍一下不同比较:
相同比较是为了在相同的封包中找不同点,以便于找到封包的本质内容,那么不同比较呢,就是相反的,是在不同封包中找相同点,以便找到封包的核心内容!
举个离子:如果你想知道卖东西的封包有什么特点,那么你只卖血瓶是不够的,你该卖掉其他东西,比如卖魔法药,卖了小血瓶,买中型血瓶,然后卖大型血瓶,共同点是都是卖,不同点是卖的东西不同,我们可以利用他们的封包中不同中的相同来找到卖东西的封包的共同点,从而为我们所用!
援用前面的例子:
我们利用IE(什么,你又不知道IE是什么了?我到,就是Internet Exproler,前面早说过了),先请求地址http://www.ff.com,得到的封包如下:
比较法则----不同比较2
我们继续相同比较,这节我们用暗黑来比较,大家大都玩过暗黑吧?这里我们给大家一个卖物品的封包,注意单机版的不存在封包,要连机打或者上战网才有封包的!截取封包的过程如下:
首先启动程序:
本软件是配合WPE使用的,因为很多WPE的十六进制很难读,如果可以直接查到十六进制数对应的文字,这样就非常方便了,因为16进制是我们所不熟悉的,如果换成熟悉的文字,我们研究封包将方便很多,当然,本软件的功能不仅限于此,在很多场合,遇到进制问题和AscII交织的问题是,使用本工具一定给你带来非常大的方便!下面的是使用方法,结合封包的16进制讲解!
首先是打开本软件,输入用户名和密码!
(编者注:自学的话,到网上找个破解版的吧)???
登陆后出现如下界面:
由于各种原因,外挂总是很难直接读的,那么怎么办呢?前面我们说了比较法则,这个法则是非常有用的,但是还不够,如果我们多掌握几中方法,那么我们修改封包成功的可能性就要高很多,所以,一定要多学几中分析封包的方法,封包是有结构的,这个结构如同人体的骨骼,如果知道了骨骼的构造,对我们解剖人体是非常有用的,否则谁知道该从哪儿入手呢?那么我们就给大家讲一下封包的结构:
一个TCP传输单元可以认为是一个封包,这个单元结构如下:源(就是封包从那里来)、目的端口(封包到那里去,源和目的端口各16位)、序号(可以确认排队)、确认号(确认到达目的地,不必重新请求发送)、头标长度(因为TCP头是可变的,它包含的可选的“选项字段”)、码位、窗口。
但是不是每个封包都包含那么多的内容,可能只包含其中的某些项,这个就要根据情况而决定了,所以要经常分析封包,习惯了就好了,可以一目了然。
这里给大家具体的一个封包,大家可以自己看看,大家也可以自己拦截一些封包来分析,当然,不是每个封包都是那么有典型意义,因此分析起来就要难多了!
封包如下:
Source Port (16) | Destination Port (16)
Sequence Number (32)
Acknowledgment Number (32)
Data Offset(4) | Reserved (6)|UGR|ACK|PSH|RST|SYN|FIN|Window(16)
Checksum (16) | Urgent Pointer (16)
Options (0 or more 32 bit words + padding)
DATA
...
这个是表准的封包的组成结构,这个结构不是每个封包都包含得有的,我们以下面这个封包解释给大家看看:封包初现
现在经过前面那么多的准备,终于可以走如正题了,希望您前面的准备充足,不要一进入正题就满脸雾水!
按照为了关照入门者,我们从最简单的封包开始,首先,我们选择我们经常使用的Internet Explorer研究,我们经常使用它上网浏览网页,对它再熟悉不过了,什么?你不知道什么是Internet Explorer?我倒,下面的这个东西就是了,看看吧!熟悉吧?
一个封包,包含有如下元素,也就是组成部分吧!
1.需要传输的数据(主要的和最重要的部分就是这个,外挂修改的也是这部分)
2.序列号(每个封包必须有自己的序列号,以便到了接收端后可以按照序列号重新组装)
3.IP地址,一般都有这一部分,通过网络解析才知道封包从那里来,到那里去!
当然封包的内容不止这些,但是,我们了解这些就够了。
注意:在传输中,所有数据都是16位或者32位的,所以截获的封包看起来总是怪怪的!
面给一个封包的基本格式,给大家看看(下面是基本封包格式,如果您可以背下来他们的格式,这对您修改游戏是非常有用的!强烈建议您看一些关于封包格式的文章,您就可以很容易地把封包看清楚,很快知道哪个才是真正的数据):
Source Port (16) | Destination Port (16)
Sequence Number (32)
Acknowledgment Number (32)
Data Offset(4) | Reserved (6)|UGR|ACK|PSH|RST|SYN|FIN|Window(16)
Checksum (16) | Urgent Pointer (16)
Options (0 or more 32 bit words + padding)
DATA
...
稍微注意以下,您可以看到,每行的长度都是32字节!
大家看到了吗?data就是数据,那是最关键的部分,我们使用WPE修改的就是那一部分!
关于封包,是网络方面的知识,要写出来,估计可以出一本书了,这里不再详细讲解,如果您要详细学习请您参考相关资料。
为了方便分析,我们把图片都放到一起大家看看!
封包分析2
经过前一章的讲解,相信大家对封包有了粗略的了解,这一章是要大家分析封包,其实封包的拦截不是很宽难,难就难在封包的分析上,从习惯上来说,大家都习惯辨认10进制的东西,对16进制,实在是不习惯,没关系,我们会让大家逐渐习惯的!如果大家愿意更好地掌握16进制,强烈建议大家手里拿一张Asic II码对照表,这样可以方便大家学习,不仅可以反查,而且可以顺查!方便多了!
前一节,我们把网线拔了,先在查上吧,难题要来了!准备好了吗,好,LET‘S GO!
先看下面的图片!
我们来分析一下上面的内容!
首先几点说明,这是对Internet Exproler进行的封包操作,请求的地址暂时不说,您可以分析出来的!下面是分析说明!
首先,本地发送请求到服务器!发送内容是“21”,注意:您一定很容易地认为发送的是“21”,其实,数字也好,字母也好,一定要注意,全都是16进制的,所以,这个“21”不是我们平常的21,而是16进制的21,那我们来算一下21等于多少(计算21转换为10进制等于多少)?21(16位)=2 x 16 + 1 = 33 (10进制),关于进制计算,我们专门的章节有说明的
再查ASCII表,看看33对应的是什么字符?查到了吗?是“!”,呵呵,WPE不是已经在右边给我们显示了吗?不过我们要习惯分析哦,到游戏里面可就没那么多的方便了!
那么发送一个!是什么意思呢?其实这个是网络连接的问题了,不必细究,要详细了解的请查看关于网络连接3次握手的相关内容!这里不做讲解!这个与游戏修改无关!
第3行47是什么意思呢?算一下:47(16)=4 x 16 + 7 = 71(10)括号内16代表16进制,10代表10进制,那么71代表什么?查表ASCII结果:71对应字母“G”
45呢?45(16)=4 X 16 +5 =69(10),查表出来的结果是:E
请你不要看右边的分析,我知道右边有现成的结果,但是你要自己分析,不然你拿着游戏就无从下手了!简单的分析就是这样了,是不是很轻松?好,再继续分析几个!
第15行,的3A什么意思?
3A(16)=3 X 16 + 10 = 58(10)
查表得,58对应“ :”
倒数第2行B7什么意思?
B7(16)=11 X 16 + 7 =183(10)
查表得到183对应:特殊字符,这里我无法帮你打出这个字符,抱歉!
注意,这里WPE也翻译不出来对应的字符了,看到了吗?WPE只翻译了最后两个,如果我们自己需要怎么办?当然是自己分析了,所以说不要看WPE帮你的分析,自己分析很重要!
前面我们已经分析了简单的封包,为了我们以后能分析复杂的封包,我们这里给出分析封包的第一条黄金法则------比较法则!
所谓比较法则就是通过比较,得到 我们需要的东西,封包往往由于于我们平常的习惯有区别,我们难于辨认,只有电脑才喜欢,而且,封包有自己结构,不是一个封包的所有内容都是有用的,其中很多是我们所不需要的,我们不必去详细了解每一部分到底是什么意思,那么我们怎么得到其中的包含的关键信息的部分呢?那就是……比较,对,是比较,方便又准确的方法 。
那么怎么比较呢?请看下面的分析!
1.相同比较
2.不同比较
所谓相同比较,这是游戏中经常用到的!因为游戏封包都是加密的,对同一个内容的封包也是不同的,我们做同一个操作,结果会有不同的封包,这是相同比较,例如,在游戏中,我们卖掉一个小血瓶,看看封包是什么?千万不要以为以后卖血瓶永远是这个封包了,对所有封包都不要有这个思想,否则,祸患无穷!我们再卖一个小血瓶,再看看封包内容,比较一下这两次封包相同的地方在那里,不同的地方在那里?这个很重要哦! 如果完全相同,那我们再卖一个血瓶看看,如果还相同,再卖一个看看,还相同?如果真是这样,10次都是这个结果,我们可以初步断定,血瓶的封包是不变的,我们可以利用了!怎么利用?不用急,在后面说明,现在还早!
如果第一次和第二次得到的封包不完全一样怎么办?比较一下,找到不同的地方在那里,这些地方的区别分别是什么意思,关于不同地方是什么意思的分析,我们不再分析了前面已经分析过了!
如果再卖掉一个血瓶,第三次和第二次也不一样怎么办?老办法,分析相同的地方和不同的地方啊!
分析下面两个封包:比较法则----相同比较
前面说了相同比较,这节我们详细介绍一下:
比较下面两个封包:
封包一:
游戏名称:快打旋风线上版?#123
发一个小火球:你可能得到如下封包:
前面说了相同比较,这节我们详细介绍一下不同比较:
相同比较是为了在相同的封包中找不同点,以便于找到封包的本质内容,那么不同比较呢,就是相反的,是在不同封包中找相同点,以便找到封包的核心内容!
举个离子:如果你想知道卖东西的封包有什么特点,那么你只卖血瓶是不够的,你该卖掉其他东西,比如卖魔法药,卖了小血瓶,买中型血瓶,然后卖大型血瓶,共同点是都是卖,不同点是卖的东西不同,我们可以利用他们的封包中不同中的相同来找到卖东西的封包的共同点,从而为我们所用!
援用前面的例子:
我们利用IE(什么,你又不知道IE是什么了?我到,就是Internet Exproler,前面早说过了),先请求地址http://www.ff.com,得到的封包如下:
比较法则----不同比较2
我们继续相同比较,这节我们用暗黑来比较,大家大都玩过暗黑吧?这里我们给大家一个卖物品的封包,注意单机版的不存在封包,要连机打或者上战网才有封包的!截取封包的过程如下:
首先启动程序:
卖掉一瓶血的封包如下!
这里难度稍微大一些,分析时要多加注意了
首先,我们注意,第二个封包和第一个封包有相同的地方,怎么看呢?
从第二个封包的第三行开始和第一个比较,是不是?
这个时候不要看WPE右边的分析了,全是错的!
如果要进一步分析,就要知道相关信息了,我们知道一个活力卖掉的价格是200,
200(10)=C8(10)
看到第一个里面的C8了吗?呵呵,明白了吧,继续分析就留给你了!如果你要进行相同比较,这里个出再卖一个活力的封包