手机 QQ 聊天记录迁移“准备数据”时无提示且速率为 0KB/s

一年又一年 | 杂谈 | 2020-01-17

安卓手机 QQ 在 8.2 版本附近引入聊天记录迁移功能并开放内测。当时笔者很感慨这个功能终于做掉了。之前帮别人迁移数据的时候,无法在非 Root 状态下(使用同一手机厂商品牌的数据迁移软件归属于 Root 状态下)迁移 QQ 聊天数据,感到挺遗憾的。

该功能首次亮相的几个月后,在机缘巧合之下,笔者正好有了一次体验这一功能的机会。笔者进行功能体验时所使用的版本为 Android 手机 QQ 8.2.6 (正式版),发布于 2020-01-03,为时下的最新版本。

迁移前的授权逻辑

授权逻辑和微信聊天数据迁移有类似之处。以从“旧设备”迁移数据到“新设备”为例,从旧设备登录账号,进入 设置—通用—聊天记录备份与迁移—迁移聊天记录到另一台设备,在旧设备上勾选要迁移聊天记录的联系人/群,确定后旧设备会生成一个二维码,要求新设备和旧设备接入同一局域网后,使用新设备登录账号,并扫描该二维码。扫描二维码成功后,新设备和旧设备建立连接,数据就开始传输了。这个授权逻辑和微信基本一致。

UI 提示问题:“准备数据”时无提示且速率为 0KB/s

接下来,手Q的逻辑和微信略有不同。

...

阅读全文>>

在解决安卓 QQ 聊天记录因故乱码时,有关其加密密钥和纠错重建逻辑的新发现

一年又一年 | 技术 | 2019-03-09

※本文旨在描述笔者自己遇到的情况和一些新发现,供您作为预案参考,而非任何面向大众的方案。

现在网络上介绍安卓 QQ (手机QQ)聊天记录数据库基本情况(比如异或加密和表结构)的文章和资源已经相对很丰富了,本文就不再赘述。相关技术此前笔者也略有些了解,但没有实际复现研究细节。

直到近日,笔者因一些原因,不慎搞炸了手Q的聊天记录(历史聊天信息乱码),于是终于有机会(被迫)将这方面的技术拿出来检验是否依旧可行,并尝试用其挽回。

※ 切勿模拟复现以下描述所对应的情况,除非您知晓这其中的高风险度。数据无价,意外丢失追悔莫及。


在过程中,笔者参考历史文章公开的技术情况,基本确认了既往的技术到目前(手机 QQ 7.8)为止,依旧适用和有效,进而复现了相关操作。

由于笔者的个人情况的特殊性,在此过程中走了些苦路,不过也观察和发现了一些似乎还没有人公开发表的新技术,主要是关于安卓手机 QQ 对待聊天数据库加密密钥选取、保存和异常重建的一些基本逻辑和现象。大纲如下:


聊天数据库异或加密存在密钥文件 —— 一般情况下密钥为 IMEI 已经不是什么新闻,但因为密钥文件(手机QQ应用数据目录/f...

阅读全文>>

Ɣ回顶部