系统安全知QQ聊天记录文件存储方式解密
最近花了几天时间跟踪了一下“QQ聊天记录查看器 5.3 华军版”,总算把聊天记录的存储方法弄清了。大家不要笑我,只是好奇而已,呵呵。
1.聊天记录存储方式
QQ聊天记录保存在MsgEx.db文件中。以前很早的版本是保存在Msg.db中,文件结构也与现在不同,我们就不分析了。
MsgEx.db采用Storage结构化存储。关于Storage复合文档的知识请查阅Microsoft相关文档,我们不做赘述。
大家可以用VC自带的DocFile View工具查看该文件的内容,可以看到文件结构大致如下:
|----MsgEx.db | |----C2CMsg | |----QQ号码 | |----Data.msj | |----Index.msj | |----IMInfo | |----info.dat | |----Matrix | |----Matrix.db | |----SysMsg | |----10000 | |----Data.msj | |----Index.msj | |----DiscMsg | |----GroupMsg | |----MobileMsg |---------TempSessionMsg
消息内容都存储在每个号码下面的Data.msj中,通过Index.msj索引。消息内容是经过加密处理的,必须经过解密才能看到。
2.解密方法
消息内容采用BlowFish分组加密。每8个字节为一个分组。密钥Key通过QQ号码生成,具体算法稍后讨论。
解密方法:
a.取前8个字节,通过BlowFish解密, 得到decryptKey;
b.decryptKey与后面8个字节XOR,对结果再进行一次BlowFish解密;
c.将decryptKey与前8个字节XOR,得到第一组结果;
d.decryptKey与后面8个字节XOR,重复b,c两步;
e.最终全部数据解密完毕。
最后会剩下一组8字节无法解密,这个实际上是冗余数据,似乎是用来作为校验。
3.具体步骤
以上解密时,BlowFish的密钥是一个全局公用密钥Key。Key要通过QQ号码生成,具体步骤是:
a.将QQ号码进行MD5变换,得到Md5Key
b.取Matrix.db的数据,对其进行解码。简单说一下Matrix.db文件的结构:
Matrix.db采用分块存储,每个Record包含类型、名字长度、名字、内容长度、内容几个字段组成。用数据结构表示就是:
struct Record{ char rType; short nLen; char Name[nLen]; int rLen; char Content[rLen]; };
初始内容也是通过加密存储的。解密方法很简单:将长度的低位字节和高位字节XOR,得到key;将内容逐个与key进行XOR,就得到结果。对名字和内容分别进行解密即可。解密后会看到STL, TIP, CRK, CPH, CAH等字段,不清楚具体的啥含义,感兴趣的同学可以自己去研究研究。我们要用到的是CRK字段,长度为32字节(如果本地聊天记录加密,可能会有变化,没试过)。将得到的CRK字段作为pData。
c.用Md5Key对pData进行BlowFish解密,得到全局密钥Key
4.结论
以上讨论的都是本地聊天记录没有加密的情况。如果选择了加密,没有密码是肯定解不出来滴,大伙就不用费心了。
,系统安全知QQ聊天记录文件存储方式解密- ·上一篇:给"小企鹅"减肥 让QQ欢快的"工作"
- ·下一篇:QQ无法正常登录的八种原因及解决办法
- › Windows中关闭无用端口,保护系统安全
- › 系统安全知QQ聊天记录文件存储方式解密
- 在百度中搜索相关文章:系统安全知QQ聊天记录文件存储方式解密
tag: qq技巧,qq飞车双喷技巧,qq飞车技巧大全,电脑学习 - qq大全 - qq技巧
相关分类
热门推荐
- · 如何删除360浏览器,360扣扣保镖等软件
- · 360导致QQweb关闭,不能用webqq
- · QQ邮箱开放:手机邮箱,企业邮箱
- · 360扣扣保镖拦截QQ广告遭腾讯强烈谴责
- · 企业QQ邮箱对所有用户开放使用
- · QQ空间添加FLASH模块动画方法
- · QQ摩天大楼如何关闭 QQ摩天大楼注销的方
- · 2016QQ特殊符号代码大全
- · QQ微博造句:我爸是李刚
- · QQ网虫综合症十大症状(爆笑)
- · qq摩天大楼登陆不进去,QQ摩天大楼好友店
- · 制作彩色的QQ签名文字
- · 修改QQ登录界面上文字的方法
- · QQ拼音输入法4.0(1023) 让输入更准确
- · 腾讯QQ手机充值中心上线 随时随地都可续
- · QQ校友(朋友社区)统一更名为“腾讯朋友”
- · 秘籍:QQ超实用技巧两则
- · 文件传输,QQ VS POPO
- · 512兆超大QQ网络硬盘应声而出
- · QQ:全力打造网络存储新贵
- · QQ电脑管家可设置到具体城市特权