设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 冲浪宝典 >> QQ专栏 >> QQ技巧:QQ聊天记录文件存储方式解密
精品推荐
QQ专栏点击TOP10
·设了密码的QQ空间 我照样能进!
·看黑客亲手打造自己的QQ密码破解器
·QQ面板上点QQ游戏无反映的注册表解决方法
·图文解说手机QQ各项功能:好友分组
·USB键盘与QQ冲突故障解决方法
·QQ宠物学习考试参考答案:小学篇
·巧取豪夺 对面的女孩看过来 QQ强制视频聊天
·“如来神掌”巧让隐身QQ好友现身
·QQ小技巧:怎样登陆禁止QQ
·如何将你的QQ性别改为不男不女
冲浪宝典点击TOP10
·老虎性交过程比美女性爱激烈图
·教你申请5位QQ号!
·设了密码的QQ空间 我照样能进!
·关于LAN网内VLAN与Trunk的详细配置
·使用QQ强行视频窥探MM长相
·QQ好友列表巧恢复
·看黑客亲手打造自己的QQ密码破解器
·Google调查:哪里人最常搜色情内容
·偷QQ
·盗取QQ密码之不完全攻略
精选专题

QQ技巧:QQ聊天记录文件存储方式解密

作者: 来源:http://www.xgdown.com/ 时间:2007-8-31 12:10:52

QQ技巧:QQ聊天记录文件存储方式解密(1)

最近花了几天时间跟踪了一下"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;

共2页 9 7 [1] [28 :>

QQ技巧:QQ聊天记录文件存储方式解密 相关文章:
QQ技巧:QQ聊天记录文件存储方式解密 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com