本项目用于将 非 QQNT 的 Android 端 QQ/TIM 的聊天记录数据库转换为 HTML 文件,并转换图片、语音等部分特殊消息。
省流:没时间维护,欢迎新 maintainer 与 PR(或者可以自行开个fork)。请提交到dev
分支。
同时,请参看qq-win-db-key 中列出的改进版。
3.12
),可参考此文章(Windows)。pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install -r requirements.txt
python GUI.py
QQ_History.py
最下面的内容,并运行:python QQ_History.py
本项目仅供学习交流使用,严禁用于任何违反中国大陆法律法规、您所在地区法律法规、QQ软件许可及服务协议的行为,本人不承担任何相关行为导致的直接或间接责任。
本项目理论仅能将可以通过正常方法查看的聊天记录导出,而不能进行包括但不限于已删除聊天记录恢复在内的操作。
本项目不对生成内容的完整性、准确性作任何担保,因此生成的一切内容没有法律效力,您不应当将其用于学习与交流外的任何用途。
作为国内最常用的聊天工具之一,QQ 为了用户留存度,默认聊天记录备份无法脱离 QQ 被独立打开。
目前版本往往需要通过命令行运行,本方法在之前版本的基础上简化了操作,制作了GUI方便使用;并且不再需要提供密钥,自动填入备注/昵称,添加了QQ表情、图片和语音的一并导出。
如果你不使用打包后的版本,请首先运行以下命令以安装依赖:pip install -r requirements.txt
注:以下提到的“电脑”泛指一切可以运行此程序的环境,如安卓手机上的 Termux 也属于此列
注:以下内容假设您使用的是 QQ 而非 TIM,如果您在使用 TIM,请将
com.tencent.mobileqq
改为com.tencent.tim
,将MobileQQ
改为Tim
如果手机已获得 root 权限,聊天记录可在以下路径找到。
/data/data/com.tencent.mobileqq/
我们需要的文件只有databases/<QQ号>.db
,databases/slowtable_<QQ号>.db
,files/kc
,因此您可以将整个文件夹压缩后传输到电脑上,亦或将这三个文件单独放在同一个目录中传输。本程序会自动识别这两种不同的目录结构。
如果没有 root 权限,可以通过手机自带的备份工具备份整个 QQ,拷贝备份文件到电脑,解压找到 com.tencent.mobileqq
。
具体方法可以参见
怎样导出手机中的QQ聊天记录? - 益新软件的回答 - 知乎 https://www.zhihu.com/question/28574047/answer/964813560
关于苹果设备导出,参见此讨论;对于安卓系统导出内容的提取,请自行在互联网查询。
如果同时需要在聊天记录中显示图片,拷贝手机中 /sdcard/Android/data/com.tencent.mobileqq/Tencent/MobileQQ/chatpic/chatimg
至 GUI.exe
同一文件夹中或者拷贝过来的com.tencent.mobileqq
目录下。
(QQ)如果同时需要在聊天记录中显示语音,拷贝手机中 /sdcard/Android/data/com.tencent.mobileqq/Tencent/MobileQQ/<QQ号>/ptt
至 GUI.exe
同一文件夹中或者拷贝过来的com.tencent.mobileqq
目录下。
(TIM)如果同时需要在聊天记录中显示语音,拷贝手机中 /sdcard/Android/data/com.tencent.tim/Tencent/Tim/ptt/<QQ号>
至 GUI.exe
同一文件夹中或者拷贝过来的com.tencent.mobileqq
目录下,并重命名为ptt
。
com.tencent.mobileqq
:选择导出的相应文件夹,对于备份方式,一般为apps/com.tencent.mobileqq
QQ号/群号:
与私聊/群聊:
选项会被忽略。chatimg
目录复制到生成的output_xxx
目录下,图片才能正常显示emoticon
以及 chatimg
文件夹一起拷贝,更加方便
如果没有启用合并图片,拷贝生成的聊天记录时需要一起拷贝 emoticon
以及 chatimg
文件夹.
有 bug 的话提 issue,记得附上 log.txt 里的内容以及终端的报错内容。
聊天记录中显示 [图片]
是因为什么?
解码出的图片路径在 chatimg
找不到相应文件。可能原因为在手机中没有加载过该文件,导致图片没有存在手机里。
files/kc
提取明文的密钥,不用再手动输入或解密Yiyiyimu/QQ-History-Backup (本仓库的来源,致敬!同时,源代码基于 MIT 协议使用。)
ZhangJun2017/QQChatHistoryExporter (参考了 Protobuf 相关内容)