QQ聊天记录查看器 5.3 华军版

原创 2007年10月10日 11:04:00
最近花了几天时间跟踪了一下“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.结论

以上讨论的都是本地聊天记录没有加密的情况。如果选择了加密,没有密码是肯定解不出来滴,大伙就不用费心了 

java解密手机QQ聊天记录

转载链接:http://blogjava.sinaapp.com/?p=38 手机QQ聊天记录需要手机root才可以获取到,这是个鸡肋,但是网上还有许多想解密的,还有收费的。如果查小...
  • qq373432361
  • qq373432361
  • 2016年01月31日 13:20
  • 2244

Excel统计QQ聊天记录条数

将QQ记录从QQ中导出为Txt文件,再导入的Excel表格中,会发现消息记录格式:    2012-06-23 10:58:34 小明    你好!    2012-06-23 10:58:34...
  • gdp12315
  • gdp12315
  • 2015年07月24日 19:56
  • 1854

QT实现模仿QQ聊天记录(一)

最近在做一个linux下可用的局域网即时聊天工具,使用QT开发。之前用js开发的聊天工具好多内容用不上(有空时候也整理下html下的消息记录显示)没有了html华丽的渲染,刚开始稍微有点吃力,好在原理...
  • lyl001234
  • lyl001234
  • 2016年09月08日 10:31
  • 1425

QQ聊天记录查看器2012 (邮箱接收版) 0602

  • 2013年01月27日 17:54
  • 1.62MB
  • 下载

QQ聊天记录查看器[免费版]

  • 2009年04月22日 00:21
  • 308KB
  • 下载

QQ聊天记录查看器V5.5破解版

  • 2010年05月10日 15:56
  • 392KB
  • 下载

QQ聊天记录查看器 5.03(破解版)

  • 2010年01月21日 21:48
  • 319KB
  • 下载

qq聊天记录查看器万能版

  • 2012年04月10日 13:21
  • 174KB
  • 下载

爱天空QQ聊天记录查看器(邮箱版)

  • 2015年01月13日 00:23
  • 1.25MB
  • 下载

QQ聊天记录查看器免费版

  • 2009年09月02日 14:41
  • 541KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QQ聊天记录查看器 5.3 华军版
举报原因:
原因补充:

(最多只允许输入30个字)