QQBackup / QQ-History-Backup

【停更】QQ/TIM 聊天记录导出为 HTML,支持图片、语音,可 GUI 与 非 GUI 操作 (Python)
MIT License
316 stars 15 forks source link

> 怎样才能导出指定某个人的聊天记录? #15

Open LingeringAutumn opened 2 months ago

LingeringAutumn commented 2 months ago
          > 怎样才能导出指定某个人的聊天记录?

看了一下解密出来的数据库有一个简单的思路或许可行

可以先按 这个仓库 的指引用 decrypt.py 解密目录下的所有数据库然后得到这些数据库

all_databases

nt_msg.db内可以根据上面大佬的代码提取聊天记录,打开观察一下感觉40020这一列是发送者的uid, 40021是私聊目标的uid

因此在代码里加一个条件进行筛选私聊目标应该就可以提取出特定人的聊天记录

msgdatabase

在提取出来的数据库的这个profile_info.db内应该存有关于好友列表的信息,在这个profile_info_v6的表里面

打开后1002列应该对应QQ号, 2000220009应该是分别对应好友昵称和你的备注,1000列对应的应该是uid 所以可以读取这个数据库找到特点人物的uid然后去nt_msg.db内提取对应的聊天记录 profile_info db

_Originally posted by @SnowFox4004 in https://github.com/QQBackup/qq-win-db-key/issues/38

大佬您好,请问您一下,我提取出来的聊天记录本身是了乱码,但是发送者QQ号,接收者QQ号,发送者名字等等这些东西都是可以读取的,请问我应该怎么解决呢?

Young-Lord commented 2 months ago

“乱码”为protobuf,需要使用相关工具解析,参考 https://github.com/QQBackup/qq-win-db-key/issues/38#issuecomment-2294619825