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