Skip to content

极速的 Android 端 NTQQ 数据库密钥提取、解密及聊天记录导出工具。遵循 KISS 原则与 Unix 哲学, 针对移动端闪存优化 I/O 策略, 最小化读写磨损。An ultra-fast NTQQ database key extraction, decryption, and chat history export tool for Android. Follows the KISS principle and Unix philosophy. Features I/O strategies optimized for mobile flash storage to minimize read/write wear.

License

Notifications You must be signed in to change notification settings

miniyu157/qq-dump

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QQ DUMP

极速的 Android 端 NTQQ 数据库密钥提取、解密及聊天记录导出工具。遵循 KISS 原则与 Unix 哲学, 针对移动端闪存优化 I/O 策略, 最小化读写磨损。

English | 简体中文

License: GPL v3 Shell Check

依赖

  • Root 权限
  • sqlcipher 二进制文件
  • python

qq-dump 会使用 termux 的二进制文件, 进入 Termux 使用以下命令补全依赖

pkg install -y sqlcipher git coreutils python

安装

你需要一款终端模拟器, 例如 termux/termux-app

git clone https://github.com/miniyu157/qq-dump.git ~/.local/bin/qq-dump-main
ln -s ~/.local/bin/qq-dump-main/qq-dump ~/.local/bin/qq-dump

如果指定了其它软链接名称, 则下文用法中替换为你的自定义名称

Note

确保 ~/.local/bin 位于 PATH 环境变量中

Tip

qq-dump 会尝试自动更新, 若想要禁用更新, 新建一个 .dev 空文件在 qq-dump 根目录即可

用法

快速开始

qq-dump chat /sdcard

dumpkey: 获取账号信息与密钥

qq-dump key [--raw]

--raw: 获取机器可读的原始数据, 通常用于管道操作


dumpdb: 解密数据库, 依赖 ./dumpkey 获取密钥

qq-dump db [--raw] [--use-disk] [path=db_output/]

--raw: 简化输出, 通常用于管道操作

--use-disk: 改为使用磁盘读写临时文件, 默认使用 /tmp (tmpfs)

PATH: 指定一个新的输出路径, 需要确保那个文件夹存在。默认为 db_output/

Tip

如果你追求更快的速度, 可以直接指定输出目录为 /tmp

Note

如果脚本所在文件夹的 ./db_list.txt 存在且非空, 则仅解密列表中指定的数据库, 默认有 nt_msg.db 和 profile_info.db, 每行一个文件名


dumpchat: 导出人类可读的聊天记录文本, 依赖 ./dumpdbchat_export 中的 Python 脚本

qq-dump chat <OUTDIR>

这个命令内部调用了 ./dumpdb --raw /tmp, 中间文件 100% 存在于内存中, 速度极快

QQ DUMP 内嵌了 miniyu157/QQRootFastDecrypt 中的 python 脚本。我修改了部分参数解析, 还未做更多的优化和适配

虽然 QQRootFastDecrypt 仓库已经归档, 但是其中的 export_chats.py 完成度非常高, 它是 100% 由 LLM 完成的, 所以难以维护

我正在写最新的功能, 查看 提交记录 以了解详情, 例如从 4f38eae 开始

chat_export/LICENSE 中的署名 "KlxPiao", 就是我的另一个笔名


别名

  • db = database
  • key = k

开发与调试

启动 ./mock 即可模拟 Android 的文件系统环境, 前提是安装了 prootmksh。 它会将一些 Android 文件夹映射到 ./.mock_env 中, 例如:

  • /data/user/0/com.tencent.mobileqq/...
  • /sdcard
  • /tmp

以及你安装的 mksh, 它让 qq-dump 以为 /system/bin/sh 存在, 实际上指向 /usr/bin/mksh 之类的位置, 如果没有安装 mksh, 则回退到 bash, 但这可能导致兼容性问题

致谢

解密算法思路源自 QQBackup/QQDecrypt

许可证

本项目采用 GNU General Public License v3.0 (GPLv3) 进行授权。 详见 LICENSE 文件。

Copyright (C) 2025 Yumeka miniyu157@163.com

About

极速的 Android 端 NTQQ 数据库密钥提取、解密及聊天记录导出工具。遵循 KISS 原则与 Unix 哲学, 针对移动端闪存优化 I/O 策略, 最小化读写磨损。An ultra-fast NTQQ database key extraction, decryption, and chat history export tool for Android. Follows the KISS principle and Unix philosophy. Features I/O strategies optimized for mobile flash storage to minimize read/write wear.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published