解密PC版微信数据库ChatMsg.db

最近发现用Python生成词云图挺有意思的,于是想着生成微信和某个人的聊天记录的词云应该挺好玩。

在网上找了好多解密微信数据库的文章,但大多数都是解密Android版的,好不容易找到些解密PC版的还写得不够详细。

不过最后终于解密成功,其中遇到好多大坑小坑,听我一一道来。

1,获取数据库加密密钥

解密PC版微信数据库

照着这篇文章做就好了,有两个注意的地方

①如果你是64位系统,就下载64位的OllyDbg 否则无法运行。

②附加微信进程的时候可能会报错忽略就可以了,不影响后面操作。

③附加时候有时候会特别慢,重新关了软件再来了次就可以了。

这里终于出现了大坑!

坑一:文章的第14写“用鼠标框选前四行内容”错误,是前两行。

PC版微信的密钥是32位,4行就变成64位了,一开始一直用前四行试,永远无法成功。

2,利用sqlcipher解密数据库

使用微信聊天记录统计信息

文章是个好文章,可是无论如何也无法解密,去Google了好多其它方法,也无果而终。

联系了文章作者,说是针对Android版微信,不过之前看过其它地方说PC和Android版加密方法是一样的…

最后这种方法宣告失败,没能解密成功,于是用了下面的方法。

坑二:无法找到合适的sqlcipher解密参数。

为什么说是一个坑,因为要在linux上编译通过sqlcipher也不是一件容易的事情,安装各种各校的包不说,好多还不能直接通过apt或者yum安装,得下回来编译,而编译时候发现又缺少其它的包……就这样试了两个版本的linux最后编译成功了sqlcipher,可还是无法解密,相信参数对了是应该可以解密的。

3,利用一段C++代码解密数据库

解密微信聊天数据库

虽然说是一段代码而已,但是并不是那么容易就能运行起来了。

得需要安装:visual studio, openssl还要进行各种各校的配置,差一点程序就不能编译了。

而且win10下openssl一定要用1.0.x的版本,否则无法识别。

关键我还几乎没用过vs,更没写过C++,一开始出各种错,再加上最开始全是用的前4行做的密钥,更是雪上加霜…

有几点需要注意:

①新建的项目选择Visual C++下面的Windows Console Application

②我把代码拷贝进去后提示cann't open source file “stdafx.h”,把第一行的#include "stdafx.h"换成#include "pch.h"即可。

坑三:用C++解密需要进行复杂的配置,错一点就扑街。

在联系作者几次后终于运行成功,得到解密的数据库文件,最开始有各种错误,最后莫名的好了…

最后用Python顺利的读取到了聊天内容,生成了词云图,散花~

你可能感兴趣的:(Other)