Skip to content

Latest commit

 

History

History
69 lines (38 loc) · 2.62 KB

教程 - PCQQ (Windows).md

File metadata and controls

69 lines (38 loc) · 2.62 KB

PCQQ (非 NT 架构)

预先准备

备份数据库!备份数据库!备份数据库!默认数据库路径为:C:\Users\<用户名>\Documents\Tencent Files\<QQ号>\Msg3.0.db

测试可用的 QQ 版本:QQ9.7.3.28.94QQ9.7.6 (28997)QQ9.7.9 (29059)QQ9.7.23 (29368),其它版本也可能可用。

如果出现异常,可以尝试消灭QQProtect后重试:https://www.zhihu.com/question/265963430/answer/2492603110

跑(自动,建议)

需要 Python 以及 Frida:pip install frida

备份Msg3.0.db -> 打开 QQ -> python pcqq_dump.py -> 登录 -> 得到 key,同时解密并修复后的数据库文件将自动生成在运行目录下

跑(手动)

hook

需要 Python 以及 Frida:pip install frida

备份Msg3.0.db -> 打开 QQ -> python pcqq_get_key.py -> 登录 -> 得到 key

pcqq_rekey_to_none.cpp

BYTE pwdKey[16]的下一行(也就是第 313 行)替换为你得到的 key

使用 32 位 MinGW-W64(我用的版本)编译:g++ pcqq_rekey_to_none.cpp (记得把mingw32\bin加到PATH环境变量)

a.exeMsg3.0.db一起放在 QQ 安装目录的Bin文件夹(比如C:\Program Files (x86)\Tencent\QQ\Bin\下,运行a.exe,运行完成后Msg3.0.db即为解密状态。

修复

得到的Msg3.0.db开头有 1024 字节的扩展头,删掉。

毁灭(必定损坏原始数据)

备份Msg3.0.db -> 打开 QQ -> python pcqq_DANGER_rekey.py -> 登录 -> 原始数据库被破坏 -> 解密并修复后的数据库文件将自动生成在运行目录下

读取信息

需要手动编写代码

qmsg_unpakcer golang 写的, 没 example, 需要手动编写一部分代码

可以直接使用

qq_msg_decode python 重写的 qmsg_unpakcer, 带有可以直接运行的文件 不过依然遗失了一些字段

未完成

qqdb-decode 用 rust 重写的 qq_msg_decode (是这样的的, 重写套娃)

致谢(询问一切有关编解码、数据格式的问题前必看!!)

https://bbs.kanxue.com/thread-250509.htm

https://www.52pojie.cn/thread-1370802-1-1.html

https://bbs.kanxue.com/thread-266370.htm ( https://www.52pojie.cn/thread-1386731-1-1.html )

https://github.com/Mrs4s/qq-db-key-injector

https://github.com/Akegarasu/qmsg-unpacker

另一种方式

x64dbg hook sqlite3_key