-
Notifications
You must be signed in to change notification settings - Fork 66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2024-12 的数据库加密已改为了 SHA512,本人困惑许久,特此更新 #50
Comments
十分感谢提议,现在我才发现我图片引用错位的问题( |
@weasUXL 你方便把这个issue的详细内容合并一下吗? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
本页面参考了此文档,可以作为一个更适合小白的教程指导
本文含有部分 Obsidian 的图片与 md 引用,这里暂不展示
反编译以读取登录 key
使用 IDA 等反编译工具打开验证程序
第一次反编译时间会比较久
在 String View 中查找
sqlite3_key_v2
,双击发现在如下汇编位置对这个位置 JumpOpXref 后发现在
按下 F5,会自动把汇编反编译成 C/C++ 函数,并在 Pseudocode-A 打开
我们在
sub_182703A25
处打个断点,此时这个dll
我们已经注入进去了接下来就是附着到
QQ.exe
,当发现dll
被调用时停止程序,并获取当前的数据我们重新打开 QQ,并打开
IDA Debug -> Attach to Process
,选择QQ.exe
,些许等待后发现程序已经被停止了,卡在了登录界面,我们点一下继续,让它先跑起来
然后登录 QQ,此时成功在断点处停下,我们打开
Locals
就可以看到一些变量右击变量
a3
并 Jump to ,可以获得参数值这是一个 16 位的字符串,这是
passphrase
解密数据库
# 聊天记录数据库 C:\Users\Dao\Documents\Tencent Files\xxxxxxxxx\nt_qq\nt_db\nt_msg.db
清理前 1024 位
使用任意
SQLCipher
工具打开比如:[[DB Browser for SQLite]]、[[SQLiteStudio]]、[[sqlcipher CLI]]
如果报错
file is not a database
,则你的工具错了,不要用 SQLite,而是 SQLCipher,@ Issue #47 · QQBackup/qq-win-db-key配置参考,也可以作为 sqlcipher CLI 命令
其中
cipher_hmac_algorithm
并不是 SHA1,在 2024-12 已变成了 SHA512,我因为这个错误困惑许久The text was updated successfully, but these errors were encountered: