WPE|52wpe|我爱WPE

 找回密码
 注册会员
搜索
  • 2636查看
  • 18回复

主题

好友

1852

积分

金牌会员

发表于 2010-7-23 20:43:51 |显示全部楼层
上节我们讲了封包数据的异域运算加解密,看了后相信大家对此也有一定程度的了解。下面,我们先通过一个实战来温习下上节内容。
在一个网管软件中,有一个会员功能,功能是这样的,凡是会员,就可以不在网吧老板那儿去登记而是直接上机,开机后填写自己的用户名和密码就可以解锁,可以开始使用电脑了,相信去过网吧的人都知道这个功能吧?
其实,该软件实现该功能的过程是这样的,首先用户输入用户名和密码,然后把用户名和密码发送到主控电脑(一般是网吧老板身边的那台电脑),由主控电脑检查该用户名是否存在,如果存在,再检查密码是否正确,这些我们不管了,我们已经知道用户名和密码都会发送到主控电脑那儿去,好,有密码发送,就会有封包发到主控机上去,就可以中途拦截,这个是WPE的专长,先拦截几个用户名密码先,下面这个是某台电脑上被拦截到的封包,内容如下:
send 0000 01 00 00 00 7a 68 61 6e 67 6a 75 6e 30 30 37 00
                  00 02 00 64 66 6c 64 68 6a 66 64 65 6a 68 00 00
要分析这个封包还真是麻烦,呵呵,那么长,总不能乱抓吧?这里有简单方法的,封包分析的黄金规则:比较法则和结构法则,这里我们用比较法则,利用比较法则的相同比较和不同比较,很容易辨认用户名和密码各在那一段,这样对我们的分析是非常有用的,至于如何比较,在论坛的教程里曾有说这里就不再罗嗦了!直接给出!
  通过比较我们知道,
  用户名是: 7a 68 61 6e 67 6a 75 6e 30 30 37
  密码是: 64 66 6c 64 68 6a 66 64 65 6a 68
马上使用我们的进位专家来对付这些16进制的文字,翻译出来的结果如下:
  用户名:zhangjun007
   密码:dfldhjfdejh
显然密码是不大正确的,因为这个密码一般人是很难记住的,从一般的情况分析,一般不会把密码随便显示出来的,总要经过加密才可以安全地发送,不然是很危险的,万一被人拦截,很容易被盗,所以,我们有充分的理由相信,这个不是真正的密码,那么怎么分析呢?这下该运用我们的异或运算分析来分析这个密码!
  看一看密码的特点,全部是字母,而且集中在A到L,在没有任何分析的前提下,我们可以假设这是一个单满映射(关于单满映射的特点及分析方法在后面给出),那么我们得到的是映射的原象,现在要自己建立一个映射来分析,简单的,从字母到字母的映射,看能不能找到一个规律,分析很长,我们建立了从A到A的映射到从A到Z的映射逐个分析,结果都是错的,所以,应该考虑从字母到数字的映射,最后检查出映射是从C到L映射到0-9,分析结果出来了:
密码是:13915731275
估计是个手机号,经过测试,这个密码是正确的,可以使用!
下面讲解封包的背包加解密:
背包加密是一中相当高级的加密方式,不容易破解,而且还原也相对容易,因此采用这种加密方式加密游戏数据也是非常好的,只要知道背包,就可以轻易算出来,所以在游戏里面采用这种加密方式加密对游戏的影响也不是很大,不会给服务器带来太大的负担,而且加密是非常安全的,对于一些重要的数据采用这种方式加密是非常可靠的,说了那么多,你也许会问:“什么是背包加密方式”,好下面给大家说明。
  背包分两种,加法背包和乘法背包!想讲加法背包!
我们知道: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,比较被减后的数,继续重复上面的操作,是很容易就能找到所有的组成元素了!乘法的方法也是一样的道理,这里就不介绍了!
抛砖引玉,内容比较简单,希望对大家有所帮助,随时欢迎技术探讨。上述内容来自网络,我整理后发出。静女

主题

好友

560

积分

高级会员

发表于 2010-7-23 20:52:24 |显示全部楼层
看不明白老大!!!!!!!!
回复

使用道具 举报

主题

好友

3752

积分

论坛元老

发表于 2010-7-23 21:00:35 |显示全部楼层
知道这点还不行啊。。。
回复

使用道具 举报

主题

好友

376

积分

中级会员

发表于 2010-7-23 21:14:26 |显示全部楼层
高手啊、看不懂。。。。。
回复

使用道具 举报

主题

好友

4902

积分

论坛元老

发表于 2010-7-23 21:15:13 |显示全部楼层
这个在那看过,你是转的把
回复

使用道具 举报

主题

好友

1852

积分

金牌会员

发表于 2010-7-23 21:16:32 |显示全部楼层
我知道这些是基础内容,很简单~没办法,我暂时就找了这么点~正在想办法让朋友帮我找些资料学习~哪位高手可以发些资料我。。(回3楼)
回复

使用道具 举报

主题

好友

322

积分

中级会员

发表于 2010-7-23 23:58:53 |显示全部楼层
本帖最后由 该账户不存在 于 2010-7-24 00:00 编辑

很好的想法,不过破解管理软件不是更直接。。。
回复

使用道具 举报

主题

好友

176

积分

注册会员

发表于 2010-7-24 00:11:24 |显示全部楼层
这些我们也不会
回复

使用道具 举报

主题

好友

4288

积分

论坛元老

发表于 2010-7-24 00:41:52 |显示全部楼层
光看分析就不是一般人能做的
看起简单
做起来难
回复

使用道具 举报

主题

好友

1718

积分

金牌会员

发表于 2010-7-24 01:37:08 |显示全部楼层
我晕- -这个有点远了
回复

使用道具 举报

主题

好友

180

积分

注册会员

发表于 2010-7-24 03:16:00 |显示全部楼层
顶啊 不顶不行
回复

使用道具 举报

主题

好友

2788

积分

金牌会员

发表于 2010-7-24 16:42:30 |显示全部楼层
天书一样!~!
回复

使用道具 举报

主题

好友

186

积分

注册会员

发表于 2010-7-24 18:47:36 |显示全部楼层
擦  百度上搜的啊   我今天都看到了   晕  你怎么这样的人哦
回复

使用道具 举报

主题

好友

1548

积分

金牌会员

发表于 2010-7-25 08:56:35 |显示全部楼层
看不明白老大!!!!!!!!
回复

使用道具 举报

主题

好友

3990

积分

论坛元老

发表于 2010-12-21 22:11:23 |显示全部楼层
学习了,是基础啊。还没涉及到更深入的部分啊
回复

使用道具 举报

主题

好友

386

积分

中级会员

发表于 2011-7-4 20:13:44 |显示全部楼层
她不是说在网上找的了吗?你们呢`找到了也不分享给大家``还有脸在这说```最鄙视的就是你们这种人`````支持静女大大
回复

使用道具 举报

主题

好友

20

积分

新手上路

发表于 2011-8-24 21:09:47 |显示全部楼层
转的就不说什么了,要是自己有技术,希望能出一个教程。
回复

使用道具 举报

主题

好友

4272

积分

论坛元老

发表于 2011-8-25 13:47:09 |显示全部楼层
高手果然多学问也很好
回复

使用道具 举报

主题

好友

24

积分

新手上路

发表于 2012-2-10 14:57:15 |显示全部楼层
看了 挺迷糊 还是谢谢了
回复

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册会员

手机版|Archiver|WPE|52wpe|我爱WPE ( 闽ICP备15009081号 )

GMT+8, 2024-5-13 07:39 , Processed in 0.059933 second(s), 16 queries .

返回顶部