作为封包,按道理只能修改封包,达到修改游戏的目的,其实,如果我们能更广泛地想一想,如果我们能分析封包,其实是可以制作出很强大的功能的,当然,如果 让WPE分析封包,能达到的功能是有限的,首先是不能进行详尽的分析,如果可以的话,那么就应该能完成任何功能,想一想,网络游戏的工作原理,从服务器发一个封包到客户电脑,然后客户电脑返回的还是封包,如果我们能够根据接受到的封包发送服务器期待的封包那么,服务器就会以为是电脑发过来的,同样做响应处理,如果我们能对封包详尽地了解,并可以分析,那么,任何现在外挂通过任何其他技术实现的外挂功 能,都可以通过封包来达到!明白了吧,封包的修改和分析就可以完成很复杂的功能,如果用其他技术来完成,也许需要使用很麻烦的技术,使用封包就可以简单地 分析得到的封包,然后返回服务器期待的封包就完成了所有的功能,所以,加强的封包的分析是非常必要的!下面我们来说一说封包的分析,这个关键就是滤镜,也 就是我们已经知道封包了,也知道把发送的封包修改成什么样子是对我们有例的,我们就要求当电脑发送某个封包时,我们的WPE自动把它拦截到,并修改成我们 希望的样子,然后发送出去,实现了这一步,也就实现了我们希望的功能了,所以,大家一定要掌握滤镜,前面的就算什么都没搞懂,这里的也要弄清楚,否则是不 能完成封包的制作的!好了,我们进入正题!
我们利用一个网络游戏来讲解这一张,为了给大家讲清楚,首先让大家知道滤镜在那里:如下图
这 个就是滤镜,大家在前面的WPE界面介绍里面已经接触过了,编辑封包的方法是先选择一个滤镜,就是下面有很多滤镜,就是 Filter1\Filter2……等等,就是滤镜,您随便选择一个来编辑,先选中,就是在滤镜前面点一下,然后就看到一个勾,表示当前编辑的滤镜,然后 点图上的铅笔,那个铅笔的图表表示编辑,出现下面的界面
首先选择一个滤镜作为保存修改好的滤镜的存放,然后选择滤镜性质,默认方式有Search(收寻) Send(发送)、Both(两种情况都要,)
经常使用的就是两种都使用,所以这个可以不管,在面罩垂片里面就是我们制作滤镜的主要和关键地方了,这里主要是针对封包的,首先
黄金法则----比较法则
前面我们已经分析了简单的封包,为了我们以后能分析复杂的封包,我们这里给出分析封包的第一条黄金法则------比较法则!
所 谓比较法则就是通过比较,得到 我们需要的东西,封包往往由于于我们平常的习惯有区别,我们难于辨认,只有电脑才喜欢,而且,封包有自己结构,不是一个封包的所有内容都是有用的,其中很 多是我们所不需要的,我们不必去详细了解每一部分到底是什么意思,那么我们怎么得到其中的包含的关键信息的部分呢?那就是……比较,对,是比较,方便又准 确的方法 。
那么怎么比较呢?请看下面的分析!
1.相同比较
2.不同比较
所谓相同比较,这是游戏中经常用到的!因为游戏封包都是加密的,对同一个内容的封包也是不同的,我们做同一个操作,结果会有不同的封包,这是相同比较,例如,在游戏中, 我们卖掉一个小血瓶,看看封包是什么?千万不要以为以后卖血瓶永远是这个封包了,对所有封包都不要有这个思想,否则,祸患无穷!我们再卖一个小血瓶,再看 看封包内容,比较一下这两次封包相同的地方在那里,不同的地方在那里?这个很重要哦! 如果完全相同,那我们再卖一个血瓶看看,如果还相同,再卖一个看看,还相同?如果真是这样,10次都是这个结果,我们可以初步断定,血瓶的封包是不变的, 我们可以利用了!怎么利用?不用急,在后面说明,现在还早!
如果第一次和第二次得到的封包不完全一样怎么办?比较一下,找到不同的地方在那里,这些地方的区别分别是什么意思,关于不同地方是什么意思的分析,我们不再分析了前面已经分析过了!
如果再卖掉一个血瓶,第三次和第二次也不一样怎么办?老办法,分析相同的地方和不同的地方啊!
分析下面两个封包:
最后把我的心血贴1下对进阶朋友肯定有帮助:
加密解密
背包加密是一中相当高级的加密方式,不容易破解,而且还原也相对容易,因此采用这种加密方式加密游戏数据也是非常好的,只要知道背包,就可以轻易算出来,所以在游戏里面采用这种加密方式加密对游戏的影响也不是很大,不会给服务器带来太大的负担,而且加密是非常安全的,对于一些重要的数据采用这种方式加密是非常可靠的,说了那么多,你也许会问:“什么是背包加密方式”,好下面给大家说明。
背包分两种,加法背包和乘法背包!想讲加法背包!
我 们知道:1<2,1+2<4,1+2+4<8,1+2+4+8<16,……,那么如果我们选择这样一些数,这些数从小到大排列, 如果前面所有的数加起来的值总小于后面的数,那么这些数就可以构成一个背包,我们给一个这个背包里面的某些数的和,这个数就是被加密的数,由这个背包组成 这个数只有一种组合方式,这个方式就是秘密了,例如给大家一个封包(2,3,6,12,24,48),由这个背包里的某些数构成的数:86,你知道86怎 么来的吗?当然,你看着背包里面的内容,可以知道是由2+12+24+48得到的,如果你没有这个背包,而是直接得到这个86,你知道组成这个86的最小 的数是多少吗?你无法知道,因为加起来等于86的数非常多:85+1=86,82+2=86等等,你是无法知道的,所以,背包加密非常难破。
那么游戏里面如何利用这个加密呢?可以给大家一个例子。
如果游戏里 面,用户名和密码只能有字母和数字组成,那么总共就那么36个元素,我们利用一个包含36个元素的背包,背包的一个元素对应一个字母或者数字,当玩家设好 用户名后,我们把这个用户名翻译成背包里面的元素,然后把这些用户转化而来的数字加起来,得到一个数,这个数就是用户名,你得到这个数,你知道用户名吗? 也许大家还没明白我说什么,我把例子更具体一点,你也许就明白了!
有个密码是:511,这个密码是经过加法背包加密的,如果你没有背包,你知道密码吗?不知道吧,呵呵!
如果我告诉你背包是:(1,2,4,8,16,32,64,128,256),也许你对密码了解多也些了!
如果我告诉你,这个是加法背包,而且有如下对应关系:1对应a,2对应b,4对应c,8对应d,16对应e,32对应f,64—— >g,128---->h,256---->i,那么你也许知道密码就是:abcdefghi,怎么样,从511到这个密码,是不是很 难想到呢?也许你会说,如果密码不是这个顺序呢?当然,这个完全是可能的,但是我们这里为了简单就没有考虑这个。
这么复杂的加密,怎么解密?有如下两中破解方法:
1.利用孤立点破解;2.利用背包破解。
所谓孤立点,还是以上面的背包为例子,我们可以把密码设为a,看看得到了什么密码?1,如果我们把密码设为b,得到的密码为2,同理,可以把背包里面的 所有元素都利用孤立点的方法全部枚举出来,这样我们就把背包弄到手了,对下面的破解就不成问题了,是不是很简单?其实在加密的时候,也许它们回利用异或运 算先加密一下,再利用背包加密,这样更难破,孤立点方法非常有效,但是不是万能的,要结合前面的方法配合使用!
利用背包,这个就简单了,想一想,要加密也的有背包才能完成加密啊,要解密也要背包啊,呵呵,这就是说,不管是游戏的用户端,还是游戏的服务器端,都会有该背包的,找到该背包不是就解决问题了吗?怎么找?参考其他书籍,本书无法容纳那么多的内容!特别注意游戏编程,知道是怎么做的就知道东西在哪儿了!
讲完加法背包,下面讲乘法背包!
乘法背包比加法背包更复杂,不仅是运算量大了很多,更重要的是你得到的一个被加密了的数据更大,一般都是上亿的,而且在许多机密的机关里面, 背包的数据都不是有这个单位,而是用位,一个加密的数据有几百位,呵呵,你得到这个数字,可以看到你满脸的茫然,如果这个数不是10进制,而是什么7进制 啊,3进制啊,这些很不常用的进制,你要破可就难了,不过不要害怕,游戏里面绝对不会有这么复杂的加密的,如果一个数据就几百位,而且还非常用进制,那么 可以想想电脑要算多久啊,会多么影响游戏速度啊!所以我们有充分的理由相信,游戏里面加密是简单的,还了,下面给大家看看乘法背包:
1<2,1+2<3,1*2*3<7,1*2*3*7<43,1*2*3*7*42<1683, 数字的增长还是很快的,之所以复杂,就是因为数字很大啊!
背包的特点是:如果背包里面的数据按小到大排列,那么,前面所有数据的乘积小于后面的任何一个元素,这个就是背包的特点,是不是很简单,但是要知道乘积的数字的增长是非常快的!
怎么破解乘法背包呢?
同加法背包一样,可以利用孤立点的方法,也可以使用直接得到背包的方法破解!
一般来说游戏里面不会使用乘法背包来加密,但是如果使用一些小的数据,也不是不可以的,大家对这种加密也可以了解一下!:
如果我们已经知道背包了,也得到加密数据,我们怎么知道这个背包数是有那些元素组曾的呢?
在加法背包里面是这样的,找背包里面最接近这个数但是又比这个数小的数A,这个数A 一定在里面,然后把加密的数减去A,比较被减后的数,继续重复上面的操作,是很容易就能找到所有的组成元素了!乘法的方法也是一样的道理,这里就不介绍了!
背包解密是很复杂的,大家可以稍微学习一些,能掌握就掌握,不能掌握就算了!
好了,加密解密就这些内容,如果大家有兴趣,可以学习更多的加密解密技术,这个技术是新兴的技术,很多数据都需要加密,例如银行的数据,加密就非常重要,如果你学到这门技术,对你的以后发展也是有用的