卧艹!某聊天工具消息记录数据库文件被黑客破解~
sqlite的加解密简易流程:
在sqlite.dll里对这些函数下断点动态调试发现没有断下来,结合网络上前辈的分析,IDA中打开KernelUtil.Dll函数名字都很类似,猜测这个Dll就是tx自己对sqlite的具体实现。
我们可以先在CMultiSQLite3DB::innerOpen等open函数下断点,并打开火绒剑对文件操作进行监控。具体下断点的方法就是附加进程然后在模块里找到KernelUtil.Dll,在IDA找到要下断点的函数的偏移,[KernelUtil.Dll + 偏移]就是要下断点的位置。
key是云端生成的理论上没有账号的密码是打不开这个聊天记录文件的,并且在每次打开程序后的密钥都是不一样的,所以这里得注意抓到密码后关闭程序得备份Msg3.0.db这个文件,文件于key是一一对应的。
总的来说主要是要找到sqlite解密的各个函数的偏移地址和解密Key,有个小坑就是Key是动态的而且和Msg3.0.db一一对应的,每次抓到Key得记得备份Msg3.0.db。
所以我们可以直接调用tx的KernelUtil.Dll,在Load KernelUtil.Dll的时候要注意放在\Bin 目录下不然会导入失败,因为KernelUtil.Dll还有导入其他的Dll。
sqlite v3.8.8.1下载链接:
https://www.sqlite.org/2015/sqlite-amalgamation-3080801.zip
-End-
最近有一些小伙伴,让我帮忙找一些 面试题 资料,于是我翻遍了收藏的 5T 资料后,汇总整理出来,可以说是程序员面试必备!所有资料都整理到网盘了,欢迎下载!
面试题
】即可获取评论