网络数据包监视程序开发(十三)---QQ密码加密方式
来源:互联网 发布:什么毛巾舒服知乎 编辑:程序博客网 时间:2024/05/16 06:29
前段时间已经把QQ登录的过程弄清楚了,并且也能正确地获得QQ登录时所需要的登录令牌。获得登录令牌后,紧接着便是客户端向服务器发送登录包。而我们关心的QQ密码也在这个登录包里,当然,那一定是加密了的。
我用的QQ版本是2006版,版本号的代码为:0e 2d。捕获的登录数据包长度为460字节。这个包的结构如下:
0x02 包头
0x0e 0x2d QQ版本号
0x00 0x22 请求登录的指令号
0x63 0xe2 报文序号
0x27 0x04 0x0d 0xf6 QQ号
..................共16字节: 登录数据数据密钥
................... 加密过的内容
0x03 包尾
除去包头1个字节,QQ版本号2个字节,指令号2字节,报文序号2字节,QQ号4字节,密钥16字节,包尾1字节:
460-1-2-2-2-4-16-1=432,所以加密的内容长度为:432字节。
用登录数据包里的密钥对密文进行解密,可以还原出416个字节的内容,我们关心的与QQ密码有关的数据就保存在解密后的前16人字节里。那这16个字节代表什么?是怎么来的呢?没什么研究,查了一些资料,这个比较可靠:这16个字节是先把密码做两次MD5-16运算得到一个HASH,然后再把这个结果作为密钥用TEA加密一个任意的字串,可以是空串,得到这16个字节。服务器其实只是看看能不能在服务器端解密,并不关心解密后的内容。
看来这16个字节就是关键了。当然要完全破解出一个QQ密码似乎不是太有可能,毕竟MD5是不可逆的。不过能不能用TEA解密出那个用密码做了两次MD5-16而得到的HASH值呢?呵呵。。。这个就是最近的任务了:知道了明文,知道了密文,怎样得到TEA加密算法的密钥??
- 网络数据包监视程序开发(十三)---QQ密码加密方式
- 网络数据包监视程序开发(六)--QQ登录过程
- 网络数据包监视程序开发日志(三)
- 网络数据包监视程序开发日志(四)
- 网络数据包监视程序开发日志(五)
- 网络数据包监视程序开发(七)
- 网络数据包监视程序开发(八)
- 网络数据包监视程序开发(九)
- 网络数据包监视程序开发日志(一)
- 网络数据包监视程序开发日志(二)
- 网络数据包监视程序开发(十一)---ARP欺骗
- 网络数据包监视程序开发(十四)---毕设结束了
- 网络数据包监视程序开发(十)---截取指定网段的数据包
- 网络数据包监视程序开发(十二)---Windows下启用IP路由选择
- 网络数据包监视 - 类
- 利用汇编语言开发盗QQ密码程序
- 利用汇编语言开发盗QQ密码程序
- 黑客-抓取数据包,并破解加密密码
- 删除windows中的服务
- 如何让你的SQL运行得更快
- 括号序列
- GDB调试动态库
- BLOG 源代码大全
- 网络数据包监视程序开发(十三)---QQ密码加密方式
- 明天去华盟软件
- GDB的使用手册的几个链接
- 最近在用asp的一些经验
- vbscript和javascript互相调用方法
- 《面向对象基础:C++实现》学习笔记之四
- 使用CachedRowSet实现数据库的断接(含源代码)
- 通用逻辑问题求解程序
- 用Gmail打造自己的网络资料库