主要原理是导出qq数据库然后解密
参考Android 手机QQ聊天记录导出(NTQQ),解密聊天数据库_ntqq导出群聊记录-CSDN博客
我的uid是u_ToO7EXyEetjtpZ3uWzZUJQ
qquidhash=md5后5aea6a6199c321ce0a6398b099fde62b
对QQ_UID_hash进行如下运算即可得到QQ_path_hash:QQ_path_hash = md5(md5(uid) + “nt_kernel”) = md5(“255c42fc0f4d295678e6ff0135fcf5ddnt_kernel”) = “b69bfb8e74137f4e4253d1af3e99493a”
看他格式找qqpathhash我的qqpath=00b49cb0400188f6cd296fcbc731a714
开始找地址
找到一个文件
nt_qq_00b49cb0400188f6cd296fcbc731a714
完全对的上
这是我的聊天记录数据库解析它
则聊天记录路径
/data/user/0/com.tencent.mobileqq/databases/nt_db/nt_qq_00b49cb0400188f6cd296fcbc731a714/nt_msg.db
获取密钥
使用HxD或者其他二进制查看工具打开nt_msg.db文件,将文件头部跟随在QQ_NT DB后的可读字符串复制,形如6tPaJ9GP,记为rand。(010编辑器!我第一次觉得知识有用,别绝望别绝望)
可能是XmXJyVx0这个
继续复现
此时可以计算出数据库密钥key:key = md5(QQ_UID_hash + rand) = md5(“255c42fc0f4d295678e6ff0135fcf5dd6tPaJ9GP”) =+“71c0dfcef3b5ceae7c4a1c68ca662f4a”。
密钥…….
mykey=5cabf14c68cae3231f5edd6341a94265
移除无关文件头
首先,将nt_msg.db文件删除前1024字节,这可以通过以下方式完成:
使用二进制编辑器:Android 下的 MT 管理器(需要付费)、Windows 下的 HxD 等软件均可使用,细节从略。
使用tail命令(仅 Linux):tail -c +1025 nt_msg.db > nt_msg.clean.db
使用 Python:python -c “open(‘nt_msg.clean.db’,‘wb’).write(open(‘nt_msg.db’,‘rb’).read()[1024:])”
完成后,得到nt_msg.clean.db文件。
我的uid u_ToO7EXyEetjtpZ3uWzZUJQ
她的uid u_l9wU0th0DF0LwdeQiq97zw
评论(0)
暂无评论