QQ聊天记录备份BAK文件的修复方法

重装系统,备份了QQ的聊天记录为bak格式,但是重装完之后恢复时,遇到错误提示如下图


上网查了查,大都说是QQ的一个BUG,连腾讯的客服也表示无法解决,难道说多年的聊天记录就要这样丢了嘛。。。

还好经过研究,发现一个解决的办法,最新的QQ2012 Beta2版本验证通过。


1.首先利用下面的地址提供的工具QQMgrMsg,把备份的bak解压缩。网上有很多文章说可以用7-Zip去解压缩,目前实际测试已经不行了。

http://bbs.pediy.com/showthread.php?t=112556

2.解压缩开来后,内部有一个叫Buddy的文件夹,里面有所有你的好友的QQ号。这里可以将每个QQ号在自己的QQ里面验证下,如果发现有已经删除的好友的号码,就删除该文件夹。(我有200多个QQ好友,纯粹体力活)。文件夹的内部结构大概如下

|    |----buddy 
|        |----1234567
|            |----info.dat 
|            |----msg.dat 
|        |----5678921
|            |----info.dat
|            |----msg.dat 

3.利用DBcompresser(http://www.xdowns.com/soft/4/14/2010/Soft_60710.html),重新将解压出来的目录打包为db文件(QQ的备份文件用的是Storage复合文档),试着在消息管理器里进行还原。

4.这里很可能继续出现上图的错误提示。这时需要注意在消息管理器里面查看当前恢复到哪一位好友(恢复顺序是QQ号码从小到大的顺序),然后在Buddy文件夹内删除该好友的目录(这里不得不舍弃掉该位好友的聊天记录,以保证大部分的记录能够恢复)

5.重新打包,重复3-5步,直到全部成功。我这个例子中,99%的聊天记录最终都成功恢复。


详细来看,还是QQ对于聊天记录的保存存在问题,特别是记录比较多的情况下,文件很容易损坏。而在恢复过程中,如果有一点错误,会导致整个恢复失败,无法跳过一个失败的好友。

如果腾讯能够对此进行改进,这当然是最佳的解决方案了。

posted on 2012-05-27 22:04  Hibernate4  阅读(9959)  评论(0编辑  收藏  举报

导航