-
Notifications
You must be signed in to change notification settings - Fork 63
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
PC端尝试手动解密数据库,rekey返回值26 #17
Comments
这个 cpp 调用的是当前版本(也就是运行目录下的相关dll)里的解密代码,如果这几年里tx更改了加密算法就可能用不了。 |
不过几年前备份的数据库是怎么得到key的?这个不是会变的吗 |
2022年1月备份的,两年前,key就是三天前从最新版本的QQ获取的,当时是备份了整个QQ目录,所以a.exe是放在当时版本的Bin目录里运行的。 |
这个 key 每次打开都会换的,我怀疑你获取到的 key 可能完全不能用 |
@dts24436 根据你聊天记录里的截图,貌似只是 rekey 这一步出了问题。如果这样的话,有概率只是函数位置定位错误(脚本问题)导致的,不一定代表dump出来的这份数据库损坏。 以及也可以试试联系客服,不要提到这个项目就行。 |
@mrhso 可以麻烦您看看特征怎么改比较合适吗?如果愿意丢个pr就更好了。 |
想要解密一个几年前备份留下的Msg3.0.db,按照教程手动得到了该消息记录的账号的key替换了pcqq_rekey_to_none.cpp的313行,把Msg3.0.db和编译的a.exe丢到Bin下后运行a.exe,Msg3.0.db除了修改时间元数据变化没有任何改变(md5相同),输出如下:
open iRet=0
key iRet=0
====EXEC=========
exec iRet=0
rekey iRet=26
====END=========
我看到返回值26似乎是说被打开的文件不是一个数据库文件,这是数据库损坏了吗?为什么open,key和exec的返回值是正常的?
The text was updated successfully, but these errors were encountered: