| 的EWH.DB文件符合我们前面的算法,QQ就认为这个用户是合法的。因此,我们完全可以想象,如果我自己做一个EWH.DB文件,让那个40万次的东西变成0,岂不是可以让我的计算机从那个傻呼呼的循环中解脱出来吗?更懒的人可能想到,如果不用密码岂不是更爽?好,我们来实现这个愿望:
运行QQPwdFinality.exe,将登录口令中的“12345”删掉,将“循环次数”改为0,进行单步计算后,是不是得到了一个串?如果你的计算机没骗你的话,大家应该都得到同一个结果:3BF2633660EF5DEB066FE6770317AD91,好了,我们将这个结果替换掉EWH.DB中的那个Hash值07 22 AA 96 56 19 A3 9E 82 19 B7 2B BD 2D 34 4A,最后,EWH.DB文件变成下面这个样子(记得将循环次数也改成0哦):
51 44 01 01 03 00 04 03 00 BD AF A8 04 00 00 00 00 00 00 00 07 03 00 B9 AB B4 10 00 00 00 3B F2 63 36 60 EF 5D EB 06 6F E6 77 03 17 AD 91 04 03 00 A9 B5 B2 04 00 00 00 3C A8 93 06
我知道在座的懒人很多(包括我自己),我特地在QQPwdFinality.exe文件中加入了一个“产生EWH.DB文件”选项,我知道你可能连这都懒得勾,所以默认情况下,我帮你勾上了。 你可以选择任何口令和循环次数来形成EWH.DB文件,文件会生成在当前的目录下。 好了,现在,你再也不用拿着你那个EWH.DB文件到处奔波了,你就用这个吧,毛爷爷不是说过吗?打击敌人的同时还要保护自己,你用自己的口令到处看别人的记录,查出来多不好,况且,一旦忘记删掉了,被受害者拿去,访高手找名人,那你就可能重新申请QQ号了。不过,如果按照这个原理将自己的QQ改造一下,你就比任何人都更快地进入QQ,抢先零点几秒找到PLMM。但是千万别干坏事哦,如果你将别人的AST改成FFFFFF7F的话,估计他要等一天才能和自己心爱的MM聊天了,你忍心下手吗?是不是有人想到发明一个病毒,专门修改这个号,让登录越来越慢啊呵呵。
其实,腾讯稍做努力便可以改掉这个问题,要么在每个QQ Data结构后面加一个Hash验证,要么将用户的QQ号作为密钥,对口令进行加密。最简单的就是用QQ号取代MD5算法中的那个基本字串(即便那几十万个循环中用了一次),这样,自己的EWH.DB就只能自己用了,这才是数字指纹的真正用途嘛。也许你会说,这么做知道了算法还是徒劳,但是,至少可以打破现在的局面——只要会用鼠标的都可以修改EWH.DB,显得这些研究破解的同志多么没有存在的价值啊。
以上谈的这些东西总的说起来都是一些雕虫小技,估计有一半的人看到中途就睡着了,坚持下来的请跟随我进入下一个章节,如果最后还有幸存者,我希望和你交个朋友:)
谈到这里,我想,这篇文章不太适合高手拜读,如果你是高手并且很无聊地走到这里,那么,你可以休息了,走的时候别忘记关灯关门哦。
下面,我们谈谈关于网络的话题。
2、QQ网络登录时存在的问题
MD5的算法固然不错,但并不能取代传统的算法,那种可逆算法在任何时候都是必要的,特别在网络里。我们可以反证一下,如果你在注册QQ或者修改密码的时候,腾讯公司得到的是MD5 Hash,他怎么能知道你原来的密码是多少呢?他绝对不会和我们一样傻,通过暴力破解的方式得到吧。当然,腾讯公司也可以只要MD5,如果是这样,他就等于失去了一次对用户的隐私进行窥探的机会,这对于任何一个公司来说都是不可能的。
退一步说,即使有的公司宣布,为了用户利益,对用户的密码不感兴趣,但是,他还是要知道是谁采用了合法的方式登录,因此,最终都不能免俗,都必须从用户发来的网络包中提取信息来完成身份的校验,以便对上帝们发出邀请或对恶魔们进行拒绝,OK,如果魔鬼扮成上帝呢?
转的人:这个算本地协议不?
上一页 [1] [2] [3]
|