请QQ的密码用的是什么加密算法,是在哪个文件中。谁知道怎么解密

tass 2003-05-28 09:23:18
谢!
...全文
3505 41 打赏 收藏 转发到动态 举报
写回复
用AI写文章
41 条回复
切换为时间正序
请发表友善的回复…
发表回复
odusseus 2003-07-05
  • 打赏
  • 举报
回复
密码明文存放是老黄历了
warrenchou 2003-07-05
  • 打赏
  • 举报
回复
这位楼主想的还真是多啊.
Skt32 2003-07-05
  • 打赏
  • 举报
回复
OICQ脆弱的加密机制-跟踪报道
2000-12-26· ·analysist··yesky


1 2 3 下一页

 ?b>腾讯公司就此文提醒大家注意: OICQ密码的确几乎是明文存放的,不过只在自动登陆时成立。当OICQ设置成自动登陆后密码只是经过了简单的可逆变形就存到一个文件里,很容易可以算出来。如果当前帐号可以自动登陆,任何人点OICQ的图标就可以直接登陆进这个号码了,甚至连密码都不用知道,根本就不需要破密码,密码已经没多大意义了。自动登陆不适合在网吧内使用,它是最不安全的,只适合在电脑使用者固定的情况下使用。
  作者言:本文测试环境为OICQ 99C(作者的开发的软件对2000同时可以起作用,这回我真晕了!),只能破解本地最后使用的一个OICQ号码,且要求该号码选择过“下次登陆不显示登陆框”参数。另外,本站提供一个测试程序,可以在瞬间找到这个OICQ号码的密码!
  因为公司里的空气实在令我感到窒息,而本来就不想去完善那个所谓的无线电子邮局的我,正好找到一个可以不干活的理由。其实,我并非是真的不想干活,主要是因为分配给我的活向来就不称我的心意。刚开始时打算做些编程开发的事情,但是我却被分配去做网站,真是大材小用嘛!然后,又是去做一些理论上的研究。等到我已经把编程都淡忘的时候,编程开发的事情终于来了,而我却已经忘了怎样编程,更可气的是,这些活又催得那么紧,哎!真不知道自己能不能干完!:(

  头晕目眩,正在这时,一个网友发来一条消息,不知道为什么,我突发奇想,打算研究一下OICQ的密码破解方法,因为据我所知,目前还没有什么有效的OICQ密码破解工具呢!以前比较有名的就要算OICQPassOver和OICQHACK了,前者使用的是穷举的方法,对付一些比较弱智的密码还可以,但是象qaz165这样的密码呢?真不知道哪辈子会算出?!至于后者,虽然可以远程破解密码,但是使用的无非还是穷举,效果自然也是不敢恭维了!这两者的区别在于前者只能是本地破解,可以在离线状态下进行,而后者随然可以远程破解,但是必须在连线状态,另外,要编制这样的程序必须非常清楚的了解OICQ的协议,所以对于一般人来说,想知道这个破解的原理恐怕是很难的。

  而我下面将要介绍给大家的这种方法,相信凡是有一点计算机常识的人都是可以看得懂得的。好的,下面我就向大家介绍OICQ的加密机制的多么脆弱,多么不堪一击!本文的OICQ测试版本是OICQ 99C Build 0820,至于其它版本是否存在相同问题就不得而知了。

∥彝瞥绲氖鞘道萄В瓤匆桓隼樱馐悄习沧巴闛ICQ后产生的一个文件,就是它,包含了OICQ使用者的密码信息,对Win9X而言,路径是C:\Program Files\Oicq\dat\oicq2000.cfg。我们用UltraEdit打开它:

滔葡扇缮 30906766

  能看得懂吗?看得懂才怪,呵呵。。。我们选择Edit-$#@62;Hex Edit,这下呢?有点眉目吧?我真心向大家推荐这个十六进制编辑器---UltraEdit,因为它的功能实在是太强大了。知道我为什么知道是这个文件包含OICQ使用者的密码信息吗?就是靠的这个软件,因为它有实时文件监视功能哦! 用UltraEdit打开OICQ目录中你认为可能包含使用者密码信息的文件,然后执行一次修改密码的操作, 之后返回UltraEdit主界面,看到什么?是不是提示有文件被改动了,呵呵。。。这就是包含密码信息的文件啦!怎么样?看到它的强大功能了吧?!慢慢发掘吧,应该有很多的说!~
这个文件的十六进制格式如下:

00000000h: 01 00 00 00 08 00 00 00 CC CF C6 CF C9 C8 C9 C9 ; ........滔葡扇缮
00000010h: 01 00 00 00 08 00 00 00 33 30 39 30 36 37 36 36 ; ........30906766

  经过分析(呵呵。。。我喜欢分析,所以我叫analysist),我大概清楚这个文件的格式了,第一个01应该表示这是最后使用的OICQ号码,也就是最新使用的OICQ号码。随后的00 00 00应该是分割符, 然后的08表示密码是8位的,然后又是分割符,然后是加密的密码,然后的01表示本文件包含1个OICQ号码,然后是分割符, 然后的08表示OICQ号码是8位的,然后是分割符,接着就是OICQ号码的ASCII值。其实, 如果你多看几个这样的文件的话,可能会看到包含多个OICQ号码的情况,其实情况大同小异,所以这里就以这个文件, 这种形式来分析了,其他情况可以类推。

  经过进一步的分析,终于搞明白了这个加密的机制。首先要说的是,30906766是我的OICQ号码, 测试密码是30906766,请看下面:

3 CC 33
0 CF 30
9 C6 39
0 CF 30
6 C9 36
7 C8 37
6 C9 36
6 C9 36

  看到了吗?第二行的0和第四行的0对应的CF是相同的,因此,直觉告诉我这是一种对称加密方法。再分析一下,0到9递增,CF到C6递减,呵呵。。。和是一样的,不会那么简单吧?再试一下其它的密码,如下:

00000000h: 01 00 00 00 08 00 00 00 9E 9D 9C 9B 9A 99 98 97 ; ........????
00000010h: 01 00 00 00 08 00 00 00 33 30 39 30 36 37 36 36 ; ........30906766
  验证一下:

a 9E 61
b 9D 62
c 9C 63
d 9B 64
e 9A 65
f 99 66
g 98 67
h 97 68

  不对了!那么,会是什么加密方法呢?我没灰心,想到了ASCII值,而ASCII值也是递增的,不会是后2项的和吧?经过对数字,小写字母,大写字母和特殊字符的验证,事实证明我的推断是正确的。

  呵呵。。。原来OICQ的加密机制如此脆弱,如此不堪一击啊!

  这样,只要你能访问到这个文件,那么得到其中的OICQ密码是不是如探囊取物一般容易呢?:P 当然,你只能拿到最后使用的用户的密码,但是这不就很好了吗?!

  我曾试过手工修改密码来登陆,结果出现的情况和我在《BBS2000和BBS3000中存在的隐患》中描述的一样,但是因为我没有做进一步的研究(主要是太冷了!),所以我就没有多少发言权了,也许只要你经过一些简单的测试就能发现服务器会自动把你指定的OICQ的密码发给你也说不定哦!~

  郑重声明:这种方法具有比较严重的破坏性,尤其是对于公共上网场所危害更大,所以本方法只能用于找回自己遗忘的密码,不能用于破解别人的密码,否则因此所引起的法律问题,本人概不负责!
Bigstorns 2003-06-09
  • 打赏
  • 举报
回复
这位楼主想的还真是多啊.
为什么不去问问中国银行金库的密码是多少啊?
呵呵
celeil 2003-06-09
  • 打赏
  • 举报
回复
如果楼主只想学习不可逆算法,而不是想破解呢?咱们岂不是以小人之心度君子之腹了?
prettywolf 2003-05-31
  • 打赏
  • 举报
回复
对,还是用木马简单。
xxking 2003-05-31
  • 打赏
  • 举报
回复
晕了,我还以为有人知道呢,
skytears66 2003-05-31
  • 打赏
  • 举报
回复
这么牛B的问题!你用汇编去捕捉键盘中断吧 靠! 然后再去分析!
onlinewuhao 2003-05-31
  • 打赏
  • 举报
回复
QQ应该没有密码文件吧!
lbaby 2003-05-31
  • 打赏
  • 举报
回复
算法是不可逆的有损加密
无法从密文推出明文的一种
类似于校验一类的

因为它本地的密码是无用的,tencent根本不用往这上边花心思

lw549 2003-05-31
  • 打赏
  • 举报
回复
密码的确是保存在本地的,但是加密算法是保密的,而且绝对不是明文保存的。
不过你可以跟踪qq的执行过程,看看他是怎样进行解密的,即使你不知道加密的过程,只要知道解密后的明文密码在内存的什么位置就可以了。
cloudtarget 2003-05-31
  • 打赏
  • 举报
回复
有二种情况:一种是保存密码登陆,另一种是不保存密码登陆,而是在腾讯公司的服务里面;针对前者可以进行破解和盗取密码,针对后者,是用木马...
----------------------------
说错了,请批评!!!
纯冰糖 2003-05-31
  • 打赏
  • 举报
回复
QQ在断线的情况下可以输入密码正确打开,说明密码保存在本地,在用户号码目录下的某个文件下,你可以用记事本看,是由好几个文件组成的,至于破解,恐怕很难,不过有些工具可以绕过本地密码进入qq的,具体的不多说了
fullsail 2003-05-31
  • 打赏
  • 举报
回复
如果有本地文件,坚持是哪一个文件很简单,用工具跟踪某个目录,然后修改秘密就可以知道了。我认为是有的(当然也可能是中间转换,校验文件等),比如我们打开QQ输入错误秘密会有提示。

关键对于密钥你很难解决。听说美国中央情报局很擅长此道,据说技术起码领先20年(而且好像说他们对很多加密算法都有饭加密的方法)。128位的密匙,几个小时搞掂,一般的计算方法要几年,甚至几千年。

你可以换一个思路试验一下,比如跟踪网络包,截获传输的报文,即使报文的内容加密。你模拟加密的报文也可以骗过服务器成功登陆。但这也是说起来容易作起来难。
晨星 2003-05-30
  • 打赏
  • 举报
回复
从当前密码算法设计“轻算法,重密钥”的原则,即使让你知道了,你也未必能破解。
不过,中国人的向来对算法和密钥都保密,因为这样在实践中的确有它的效果。
Tyrone999 2003-05-30
  • 打赏
  • 举报
回复
呵!确实是一个很值得讨论的问题!
不过我想不简单吧!不然天下不大乱了!
pifulu 2003-05-30
  • 打赏
  • 举报
回复
肯定是明文保存的,记得以前引起过很多人的讨论
zsyxinyang 2003-05-30
  • 打赏
  • 举报
回复
容易的话,腾迅早倒闭了。
feifeizaizhe 2003-05-30
  • 打赏
  • 举报
回复
听说在他的用户信息文件里面,
有uintedit软件打开,然后你对应以下就可以找到你的密码对应代码
好象是在第四行,用对比法可以破戒,但是风险很大,浪费时间,如果你有空可以试试
xuanyuanhaobo 2003-05-30
  • 打赏
  • 举报
回复
对啊~~~scentpalace(牛肉大饼)说得对:

如des
加载更多回复(21)

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧