当前位置:编程学习 > C/C++ >>

WPE封包外挂教程(下)

答案:

WPE实际经验和实例

1.虎卫版的破解
2.WPE系列教程之封包用法篇
3.WPE系列教程之刷钱封包制作资料篇
4.WPE系列教程之祝福油和幽灵手套篇
5.WPE系列教程之神秘封包制作篇
6.WPE系列教程之攻击代码篇
7.WPE的另类用法

虽然好多外挂都被封了,可是现在回头看看,对我们的学习使用wpe还是有很大的帮助,以下的几篇文章都是实际的经验,而且里面的方法更是值得我们学习,如何分析问题,如何查找关键数据,从何处入手,等等。这些文章都是从网站上抄来的,首先向他们的作者致歉,因为经过好多次的转载,有些作者都找不到了,因此没有署名。下面让我们一起来看看:

虎卫版的破解

虎卫版更新了mir.dat文件,在我们进入游戏时会有一个验证身份的过程,类似答考卷。举个例子:服务器给mir.dat文件的试卷题目是“天王盖地虎”然后虎卫的mir.dat答案是“宝塔镇蛇妖”,这样,服务器就知道了mir.dat是合法的。而半月看血的那个mir.dat文件并不知道正确的答案是什么,只有硬着头皮随便说了个答案。所以它的身份很快就被揭穿了。最终的结果就是,我们被服务器踢出来了!

现在,我们需要做的就是----欺骗服务器,让它认为半月看血的mir.dat文件是合法的。我们知道,软件WPE的主要功能之一就是更换发送给服务器的数据包。只要在服务器没有收到半月看血的mir.dat文件提交的答案之前,利用WPE将答案修改成正确的,服务器就会认为半月看血的mir.dat文件是合法的。这样,挥半月,全屏看血,一步起跑,超负重等功能就又可以实现了。

下面就是具体的做法。(所需工具:WPE)

准备工作:将patch这个文件改个名,这样可以避免服务器将半月版的mir.dat文件自动更新成虎卫版的(两个版本的mir.dat文件大小不一样),这样做的话进入游戏的时候会提示patch.exe程序不能使用,别管他,点OK就可以了。

最关键的一步,是要知道合法的mir.dat文件所提交的试卷中的正确答案。在每次进入游戏前,我们需要做的是选择自己的游戏帐号在哪个服务器、选择人物等等。这里的每次选择,都会向服务器发送相应的封包。虎卫版和半月版在进入游戏之前所进行的前几个步骤并没有太大的区别。在最后选择人物,点“开始”以后就有区别了----使用半月看血的会被服务器踢出来。所以,我们可以初步认定,正是这一步在提交试卷。所以我们可以使用不同的mir.dat进入游戏,在点开始之前用WPE截一下数据就可以知道正确的答案和错误的答案都是什么了。

注意:在使用WPE之前最好先对这个软件进行一下设置,让它只截取我们发送给服务器的封包。这样的封包才是我们能够随意修改的。下面是我截取的数据

使用半月mir.dat

SEND-> 0000 23 35 3C 3C 3C 3C 3C 42 58 3C 3C 3C 3C 3C 3C 3C #5<<<<
SEND-> 0010 3C 3C 56 62 61 5D 57 63 5D 65 57 5F 3C 6C 49 6E <
SEND-> 0020 7B 47 7A 58 47 5A 6C 78 53 52 67 68 63 5B 21 {GzXGZlxSRghc[!

SEND-> 0000 23 36 46 5E 65 66 56 52 41 6A 5A 42 61 6A 48 3F #6F^efVRAjZBajH?

SEND-> 0010 3C 73 47 78 6B 75 6C 69 77 3F 6D 59 56 6A 6E 59
SEND-> 0020 78 6B 48 4F 4C 70 4A 3F 58 70 47 6F 44 6C 48 3F xkHOLpJ?XpGoDlH?

SEND-> 0030 40 6D 48 3F 3C 72 47 6F 3C 21 @mH?
SEND-> 0000 23 37 3C 3C 3C 3C 3C 4B 64 3F 3C 3C 3C 3C 3C 3C #7<<<<
SEND-> 0010 3C 3C 21 <
SEND-> 0000 2A *

SEND-> 0000 23 38 3C 3C 3C 3C 3C 41 40 3C 3C 3C 3C 3C 3C 3C #8<<<<
SEND-> 0010 3C 3C 21 <
使用虎卫mir.dat

SEND-> 0000 23 34 3C 3C 3C 3C 3C 42 58 3C 3C 3C 3C 3C 3C 3C #4<<<<
SEND-> 0010 3C 3C 56 62 61 5D 57 63 5D 65 57 5F 3C 6C 49 6E <
SEND-> 0020 7B 47 7A 58 47 5A 6C 78 53 52 67 68 63 5B 21 {GzXGZlxSRghc[!

SEND-> 0000 23 35 46 5E 65 66 56 52 41 6A 5A 42 61 6A 48 3F #5F^efVRAjZBajH?

SEND-> 0010 3C 73 47 78 6B 75 6C 69 77 3F 6D 59 56 6A 6E 59
SEND-> 0020 78 6B 48 4F 4C 73 48 4F 40 6F 47 6F 44 6C 48 3F xkHOLsHO@oGoDlH?

SEND-> 0030 44 6C 49 4F 44 6E 47 6F 3C 21 DlIODnGo
SEND-> 0000 23 36 3C 3C 3C 3C 3C 4B 64 3F 3C 3C 3C 3C 3C 3C #6<<<<
SEND-> 0010 3C 3C 21 <
SEND-> 0000 2A *

SEND-> 0000 23 37 3C 3C 3C 3C 3C 41 40 3C 3C 3C 3C 3C 3C 3C #7<<<<
SEND-> 0010 3C 3C 21 <
SEND-> 0000 2A *

SEND-> 0000 2A *

可以看到,半月版截到了5组封包,虎卫版是7组。在这里我们大可不必理会数据的多少,对比的时候以半月版为准。虎卫版数据多的原因是因为我们已经正常进入游戏了。多出来的数据可能是客户端告诉服务器自己已经正常进入了,这样服务器才会告诉客户端,他有什么物品,等级是多少……

没得到我是神的指点前,我前半夜的时间就是浪费在这里了。

再观察这些数据可以看到,每组数据大多以23开头,紧跟在后面的是3x(x代表0-9的数字),这些是数据包编号信息,可以不理会它。右边是这些16进制数据对应的符号,我们对比右边的符号就能知道两个版本同一组包里面的信息有什么不同了。可以发现,两个版本所发送的第二组包差别最大。所以,这组数据成了重点!

那天,我利用WPE的滤镜功能,(教程里有滤镜的使用说明),把半月版的除了数据编号以外的所有信息写到了滤镜的正确值里,又把虎卫的信息写到了伪造值中,运行滤镜。满以为这次会成功,结果服务器照踢不误。在这里我又浪费掉了后半夜时间~~~~~~

后来得到我是神的指点,才知道即使是用同一个ID,使用同一个版本的mir.dat文件登陆,所得到的第二组数据也会有所不同,个人认为那些不同的数据可能和登陆的时间,服务器的状态有关。知道了这些,就可以把随机变化的不同部分排除掉。然后再对比两个版本截到的数据中其他部分,发现只有SEND-> 0030这一行的第1-6个数值是不一样的。把半月版的这6个数值填到滤镜中的正确值里,再把虎卫版相同位置上的6个数值填到伪造值里就可以欺骗服务器了。

在使用滤镜的时候应该用它的“递进模式”,并且选上“自定位修改”,(这样设置后,WPE只要发现连续的这6个正确数值,就会连续的把这6个数值替换成为伪造值)滤镜的“查找长度最大值”(我理解成在多长的一组包里查找相关数据)默认是40,可是我们知道我们要修改的那组数值所在的封包长度已经超过40个字节了,所以我们可以将“查找长度最大值”设置成大于封包长度的值。(我是神设的是80,我自己设的是64)另外,当我们选上“递进模式”并且选上“自定位修改”后,伪造值的范围变成了-124到+124,应该从000处开始填入伪造值才能使滤镜真正生效。

好了,运行滤镜吧,试着使用半月版进入传奇,结果是----成功。到了这一步,我高兴的不得了,终于成功了!

可是好景不长,休息了几个小时后这个滤镜竟然失效了。重新按前面的方法截获数据,发现和以前截获的数据不一样了。我倒,原来服务器考试还分A、B卷啊。于是照改不误,多做了两个滤镜----这回彻底把服务器摆平了。(做成能够脱离WPE单独运行的封包后就可以给朋友用了)

由于要将patch解决掉才能使用这个封包,没了自动更新的功能,换成其他区的用户登陆就会出现ID不存在的错误提示。好多朋友发表了解决这个问题的方法,有手工修改mir.ini文件的、有用WIN2000做模拟FTP服务器的、还有用防火墙截住patch不让它自动更新的。个人认为在网吧使用以上方法还是有点费事。

我是在家里上网的,那个patch文件改名后进入游戏会出现“patch.exe程序不能使用”的提示,每次都要点“OK”,太罗嗦了。我把半月版的mir.dat设成只读属*了,所以那个patch就没法把它更新成虎卫版了。不过,换其它区的ID登陆还是有问题。大家想想办法把这个问题彻底解决。


WPE系列教程之封包用法篇


由于不同区不同服务器的的数据不同,一个封包要想在每个服务器都能使用是不可能的。这就需要我们对原有的封包进行修改。
大家不必要一味的要这个封包,要那个封包,学会了修改封包,就能自己动手了. 大家在发封包之前,都会和NPC说话,然后进行搜寻,得到一批数据,就是16进制代码我们要做的是打开所要发送的封包,然后选择要发送的命令如:Packet n 1,发送。现在一个封包命令就发出去了,这就是WPE的用法,我要说的是怎么修改,大家继续看:
现在,我们双击左边的Packet n 1,会出来一条对话框,里面也有16进制代码我所需要做的是把第一排第3。4。5。6。4组数据修改成你刚才搜索的相应数据(注意:他的相应数据是在搜索的时候,左边带S符号的那几排数据)
如果在搜索的时候,出现了许多带S符号的数据排,则证明,有地方出错,你退出传奇再进或者再次搜索一遍,一般只会出现2-3排的S,而其他带R的不用管他。你现在已经把其他服务器的封包改成你这个服务器能用的封包了。
比如赌场封包,在1号房搜索并修改1号封包数据后发送,撒6到了7号房,再搜索并修改2号封包数据后发送,依次类推就可以到40号房间。注意,修改9号封包也就是拿钱封包的时候必须等你出来与NPC对话出现成功字样的时候才能修改,如果你拿不到钱,你所修改的封包则无任何用处,所以要修改拿钱封包,必须你先得拿到一次钱,但是如果成功了和NPC说话后立即开始修改,而且要一次成功,慢点都无所谓,想想修改步骤,否则你失败了再点NPC就会送你回去。
那么,现在虽然赌场的封了,你们还可以去试试神秘商店或者未知暗殿的封包,一样能改好了。

 

WPE系列教程之刷钱封包制作资料篇

第一位23 表示

上一个:WPE封包外挂教程(上)
下一个:游戏外挂设计技术探讨(上)

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,