电脑技术学习

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

dn001

最近花了几天时间跟踪了一下"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索引。消息内容是经过加密处理的,必须经过解密才能看到。