首先在破解QQ聊天记录需要了解一下QQ聊天记录存储规则:
最近花了几天时间跟踪了一下"QQ聊天记录查看器5.3华军版",总算把聊天记录的存储方法弄清了。大家不要笑我,只是好奇而已,呵呵。
1.聊天记录存储方式
QQ聊天记录保存在MsgEx.db文件中。以前很早的版本是保存在Msg.db中,文件结构也与现在不同,我们就不分析了。MsgEx.db采用Storage结构化存储。关于Storage复合文档的知识请查阅Microsoft相关文档,我们不做赘述。大家可以用VC自带的DocFileView工具查看该文件的内容,可以看到文件结构大致如下:
|----MsgEx.db
||----C2CMsg
||----QQ号码
||----Data.msj
||----Index.msj
||----IMInfo
||----info.dat
||----Matrix
||----Matrix.db
||----SysMsg
||----10000
||----Data.msj
||----Index.msj
||----DiscMsg
||----GroupMsg
||----MobileMsg
消息内容都存储在每个号码下面的Data.msj中,通过Index.msj索引。消息内容是经过加密处理的,必须经过解密才能看到。
QQ聊天记录解密方法
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包含类型、名字长度、名字、内容长度、内容几个字段组成。用数据结构表示就是:
structRecord{
charrType;
shortnLen;
charName[nLen];
intrLen;
charContent[rLen];
};
初始内容也是通过加密存储的。解密方法很简单:将长度的低位字节和高位字节XOR,得到key;将内容逐个与key进行XOR,就得到结果。对名字和内容分别进行解密即可。解密后会看到STL,TIP,CRK,CPH,CAH等字段,不清楚具体的啥含义,感兴趣的同学可以自己去研究研究。我们要用到的是CRK字段,长度为32字节(如果本地聊天记录加密,可能会有变化,没试过)。将得到的CRK字段作为pData。
c.用Md5Key对pData进行BlowFish解密,得到全局密钥Key
帮不了你。只能对你说。对人要多信任一点。何况那人是你老婆!这点信任都没有。。太伤人心了!
qlook是一款破解QQ空间及相册密码的工具,网友简称:qq空间密码查看器、qq相册密码查看器。该工具只要输入对方QQ号码,软件就会绕过密码自动链接到相应页面,并且是不断根据腾讯的升级而升级的,不存在用一段时间就不能用的现象。该工具由于满足了很多人的偷窥欲,目前在网络中犹如病毒一样到处蔓延。希望谨慎使用!
没有这样的软件,就算有也安装不了,因为这种行为是违法的。
如果需要找回QQ密码,可以通过手机验证来重新设置密码,操作步骤如下:
1、在电脑中打开QQ,在登陆窗口点击“找回密码”;
2、选择“通过手机验证找密码”;
3、输入手机号码,然后点击“获取验证码”,然后输入手机收到的验证码并点击“确定”;
4、然后重设密码,重复两次输入新密码再点击“确定”就可以了。