一个偶然的机会,歌友会的好友问我能不能恢复一台旧手机(OPPO R7s)的QQ聊天记录,因为上面的数据对她非常重要,我抱着试一试的心态收到了她寄过来的手机
安卓4时代的神机,著名广告词:充电5分钟,通话2小时
目前情况:
工具箱为B站UP主@晨钟酱Official开发,点此下载,工具免费勿上当
手机上目前安装的QQ版本为7.2.5,目前因为腾讯的云控以及无法登陆,且由于手机系统过低无法安装QQ8+的版本(安装了QQ8也没用,到今天2025年3月8日为止QQ8版本的应该都绕不过云控了,没有登陆过QQ9的账号应该还可以)但是数据还存在本机,这就给了我们恢复的希望。
恢复的原理
参考文章:学习笔记 | 旧版本QQ聊天记录导出
旧版(非 QQNT 版本)QQ 的聊天记录相关文件主要存储于
/data/data/com.tencent.mobileqq/
下的 databases/<QQ号>.db,databases/slowtable_<QQ号>.db 以及 files/kc,只需要获取到这三个文件我们就可以导出基本的聊天消息文字记录,更多的图片、语音等也在该目录下可导出。
本次QQ聊天记录恢复的流程
如果想完美恢复到新手机内可直接跳转到本文章第二部分,下述过程为踩坑折腾吐槽
先决条件:旧手机需要root!!!
参考资料:实现手机root的心路历程之完成Oppo R7s root功能-亲测有用
这里我用到的是小欧工具箱进行的root操作,因为本机型没有bootloader,所以无需解锁,其他型号的手机可以找找酷安的教程,老型号(非华为荣耀)应该有很多ROM,但是一定要解锁bootloader,手机厂商对于bl管理越来越严格,不知道以后机圈会不会有大神绕过这种限制(开玩笑)
第一步,手机root后对QQ数据目录复制到电脑上
这里必须要开启手机开发者模式后再打开文件传输和USB调试,不知道的自行搜索
我们使用adb命令
adb pull /data/data/com.tencent.mobileqq/ ./
运行后显示:
D:\Desktop\搞机工具箱10.1.0>adb pull /data/data/com.tencent.mobileqq ./
/data/data/com.tencent.mobileqq/: 0 files pulled, 0 skipped.
这里应该是即使手机已 root,ADB 默认可能没有足够的权限访问 /data/data 目录。
咱们曲线救国一下,因为已经root,咱们在手机上安装MT管理器
但是这里有点问题,MT管理器最低支持安卓5.0
所以我们用adb shell登录到手机进行复制
adb shell
su
显示如下:
D:\Desktop\搞机工具箱10.1.0>adb shell
shell@R7s:/ $ su
root@R7s:/ #
接着执行如下命令将/data/data/com.tencent.mobileqq/拷贝到手机存储目录
mkdir /sdcard/QQbackup
cp /data/data/com.tencent.mobileqq/ /sdcard/QQbackup
执行后,可以在手机文件浏览器看到备份后的文件夹,这时我们退回到cmd,用adb再pull一下
D:\Desktop\搞机工具箱10.1.0>adb pull /sdcard/QQbackup ./
adb: error: failed to create directory './QQbackup\com.tencent.mobileqq\app_database_:web\': Invalid argument
这里报错是因为有Windows不支持的目录字符
其实这里我们完全可以跳过的,但是这里我还是说下我的折腾过程吧
这里我们可以将/sdcard/QQbackup打包,然后再拉取到电脑上,但是安卓4默认没有tar命令,这里我用的是BusyBox,可以在安卓设备上运行UNIX命令的一个软件,这里我们将安装包下载到电脑上,然后用搞机工具箱远程安装到手机上:
安装好后继续adb shell
adb shell
su
busybox tar -cvf /sdcard/QQbackup.tar /sdcard/QQbackup
这时生成了一个压缩包,我们再退回到cmd,执行adb pull,将数据包导入电脑(脱裤子放屁)
其实这里我们只需要拿到databases目录就可以了,因为这里存放着聊天记录的db文件
导出数据目录后解压到电脑,进行下一步操作
第二步,db文件解密
这里我用到的工具是Github大佬开发的QQ-History-Backup
按照大佬的步骤,我们选择手机QQ备份数据解压后的路径,填写自己需要找回聊天记录的QQ号:
点击开始后会输出聊天记录到运行目录下
至此聊天记录可以查看了
完美恢复到新手机
当然,上述过程只是曲线救国,我们最终还是想恢复到手机或者电脑
这里我提供一种思路:将手机QQ的APP完整备份(包括数据和APP本体)——迁移到高版本的手机进行恢复
下面开始
我们需要一个备份工具:钛备份
注意,此工具必须root!!
这个工具的强大之处在于可以无缝备份和恢复手机APP
安装好后我们先来备份QQ7.2.5
等待备份完成后,软件会在如图所示的目录中生成三个备份文件:
好的,现在将TitaniumBackup这个目录先复制到电脑后再导入到雷电模拟器(或者其他已经root过的高版本手机,同样需要安装钛备份APP)
雷电模拟器要把root权限打开:
因为是高版本的手机了,我们可以安装MT管理器等文件管理器,
把刚才复制到电脑的TitaniumBackup文件夹(或压缩包)直接拖进来,就会复制到/sdcard/Picture/目录下
由于这里我是用压缩包,所以我在MT里进行解压缩操作:
将左侧三个文件长按解压缩到/sdcard/TitaniumBackup文件夹
然后我们打开钛备份:
备份还原选项
我们找到QQ7.2.5,点击恢复
选择 程序+数据
会让你安装QQ,点击安装
等待数据恢复:
回到桌面,发现QQ已经安装好了
打开APP后发现已经有账号了,但是7版本现在已经无法登陆了,所以我们退出,去雷电游戏中心更新
更新后就是最新的QQ9了,这时候登录
可能会要求账号安全验证
登录后,在左侧,设置-通用-聊天记录设置-升级聊天消息性能(等待到100%可能是在做什么同步吧,毕竟新版本的QQ对数据的加密方式都不太一样了)
这时返回到主页,可以看到原来手机内的聊天记录了:
当然,现在聊天记录还是在模拟器里面的,下一步将聊天记录导入到新手机
在模拟器的QQ内点击设置-通用-聊天记录设置-迁移聊天记录到另一台设备
这时会要求你扫码:
拿起你现在使用的手机,登录QQ,扫描二维码,等待同步(必须同一网络下)静待花开
完美恢复!!!
总结一下
这次的折腾之旅收获颇丰,不过中途走了不少弯路,比如传输文件的过程过于繁琐,对不搞机的小白比较困难,后来我才发现ES也能安装在这台老爷机里。。。
当然数据无价,能够帮朋友恢复对她而言非常重要的数据我也感到很自豪,但是不管是怎么恢复数据、恢复成什么形式,聊天记录依然是我们每个80、90、00后不可缺少的回忆(博主00后,08年开始使用QQ)强烈请求大家养成随手备份的好习惯,毕竟腾讯的屎山代码指不定哪天再抽风。。。