解密QQ聊天记录文件

来源 :网络与信息 | 被引量 : 0次 | 上传用户:laopengtou
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  QQ聊天记录存储规则
  最近花了几天时间跟踪了一下“QQ聊天记录查看器 5.3”,总算把聊天记录的存储方法弄清了。大家不要笑我,只是好奇而已,呵呵。
  
  聊天记录存储方式
  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索引。消息内容是经过加密处理的,必须经过解密才能看到。
  
  QQ聊天记录解密方法
  消息内容采用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字节无法解密,这个实际上是冗余数据,似乎是用来作为校验的。
  
  具体步骤
  以上解密时,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。
  
  以上讨论的都是本地聊天记录没有加密的情况。如果选择了加密,没有密码是肯定解不出来的,大伙就不用费心了。
其他文献
如果你处在一个选定的程序中而需要帮助,那么请按下F1。如果现在不是处在任何程序中,而是处在资源管理器或桌面,那么按下F1就会出现Windows的帮助程序。如果你正在对某个程序进行操作,而想得到Windows帮助,则需要按下Win+F1。按下Shift+F1,会出现“What's This?”的帮助信息。     F2:如果在资源管理器中选定了一个文件或文件夹,按下F2则会对这个选定的文件或文件夹重
期刊
开机按F1键,这是因为你的BIOS设置不当但也能正常引导系统,属非致命性故障,按F1是在问你是否继续。   比如:你没有安装软盘驱动器,但是在CMOS中设置了开启软驱的选项。   解决方法是:开机按Del键,进入BIOS设置,选择第一个“基本设置”,把floopy一项设置成“Disabel”(无效)就可以了。   刚开始开机时按DEL进入BIOS,按回车键进入第一项,看看里面的“Drive A”项
期刊
现在的内存容量512M-1G成了标配,怎么样充分利用大内存而不浪费呢?请接着看。   内存越大,机器越快?我想大多数人的回答都是肯定的,从256M到512M的提升是明显的,所以想当然的,从512M到1G的提升也会很明显吧。但是我用我的亲身经历告诉你,1G的内存比512M还慢,当然前提是你什么都不设置。   前几天我把我的Compaq N410c扩展到了1G的内存,2×512M pc133的SD,结
期刊
客观地说,与CPU、内存等其他部件相比,硬盘是PC中发展最慢的组件之一,在很多时候,系统性能不佳往往因为受制于硬盘性能的瓶颈。不过,随着SATA硬盘应用的日益普及,这一窘境稍有改善。与传统的IDE硬盘相比,SATA硬盘不仅更易于连接、安装,也带来了更佳的性能。   Windows vista能够很好地支持SATA硬盘,同时,还提供了进一步提高硬盘性能的途径,那便是通过启用高级性能选项。   下面介
期刊
社会变化之快,人不得不高效地运转,一句话叫“拥有高效,才拥有一切”。工作中找到好的方法,才能事半功倍。平时工作中我经常会用WPS Office办公软件制作各种表格,正好这两天工作不是很忙,赶紧就把自己使用WPS表格过程中发现的几个小技巧整理了一下,希望能帮助朋友们提高工作效率,拥有期望的一切!     技巧一:人民币大写自动转换     对于每天面对大量数据的财务人员来说,把数字格式转换成人民币大
期刊
使用过Windows Vista的朋友一定被Dreamscene技术深深地吸引,就是可以将一段视频当作背景桌面。不过Windows XP用户就无法使用Dreamscene技术,就不能直接把视频当成桌面。不过没有关系,可以使用VLC Media Player来轻松实现将视频当成桌面背景。   首先打开VLC Media Player,然后在设置中选择选项(图1),接下来视频→输出模块→DirectX
期刊
破解和防破解必是同时存在的对立体。如同制造病毒和防范病毒一样,制造病毒的言论从不会公开出现在一些明面场合,所以每当病毒来袭,防范的一方总是措不及防。我们更希望看到的不是偷偷摸摸,而是从破解和防范中学习到实用的技术和知识。    一、破解篇     这里所谈的破解,包括提取swf、破解已加密及未加密的swf,即通常所说的“swf to fla”。    获取swf的工具    Flash Saver
期刊
修改boot.ini让系统启动选单变彩色    文:可心    C盘根目录下的boot.ini(隐藏文件)可以使用ANSI控制码来控制启动菜单显示出彩色,你可以根据以下短短的代码来为自己设计一个彩色的Windows启动菜单。   这也有助于让你理解ANSI控制码及其转义,当然彩色的菜单也非常具有个性。   例如下面的boot.ini:     timeout=30   default=multi(
期刊
PowerPoint能够制作出图文和声音并茂的课件,可是这其中并不能使用3D动画效果,让人感觉非常可惜。其实想要制作出3D效果的幻灯片也并非难事,只要使用一个小插件就能够轻松地制作出漂亮炫目的幻灯片,这个插件中带有大量3D动态效果,可以让你尽量享受3D的乐趣。     1.制作3D幻灯片   该插件安装完毕后,PowerPoint的工具栏中将增加“PowerPlugs”工具栏。   新建幻灯片时,
期刊
与微软历代Windows一样,Vista系统发布之后就披露出这样那样的问题,外界也普遍认为只有到SP1发布之后Vista才能真正让人满意,许多用户也表示说将继续使用Windows XP,只有在SP1推出之后才考虑升级到Vista。而按照开发惯例,从操作系统发布到SP1的推出一般都时隔一年之久,而到今年底,Vista的推出也满一年,SP1的推出应该是在计划表上。不过微软对此守口如瓶,甚至有官员表示V
期刊