现在微信聊天记录文件EnMicroMsg.db怎样解密

我说下数据库的解密方法吧
首先下载OllyDbg 2.01汉化版,我用的版本如下图所示:

现在微信聊天记录文件EnMicroMsg.db怎样解密


运行OllyDbg,然后运行PC版微信(需要下载客户端的,不是网页版)。先不要点击登录按钮。

现在微信聊天记录文件EnMicroMsg.db怎样解密


切换到Ollydbg界面:

现在微信聊天记录文件EnMicroMsg.db怎样解密


点击文件菜单,选择“附加”,在弹出的对话框中找到名称为WeChat的进程,其窗口名称为“登录”。然后点击“附加”。

现在微信聊天记录文件EnMicroMsg.db怎样解密


附加成功后OllyDbg开始加载,成功加载后可以看到最上面OllyDbg后面有WeChat.exe的字样:

现在微信聊天记录文件EnMicroMsg.db怎样解密


在查看菜单中选择“可执行模块”:

现在微信聊天记录文件EnMicroMsg.db怎样解密


找到名称为WeChatWin的模块,双击选中。为了方便观察,在窗口菜单中选择水平平铺。在CPU窗口标题栏可以看到“模块WeChatWin”字样。

现在微信聊天记录文件EnMicroMsg.db怎样解密


在插件中选择“StrFinder字符查找”中的“查找ASCII字符串”(注意如果下载的OllyDbg版本不对,可能没有相关插件,因此一定要找对版本),要稍微等一会儿,会出现搜索结果的窗口。

现在微信聊天记录文件EnMicroMsg.db怎样解密


在此窗口点击鼠标右键,选择“Find”,在搜索框中输入“DBFactory::encryptDB”。

现在微信聊天记录文件EnMicroMsg.db怎样解密


会自动定位在第一处,但我们需要的是第二处,即“encryptDB %s DBKey can’t be null”下面这一处。可以用鼠标点击滚动条向下,找到第二处,用鼠标双击此处。

现在微信聊天记录文件EnMicroMsg.db怎样解密


在CPU窗口中可以看到已经定位到了相应的位置。用鼠标点击滚动条向下翻。

现在微信聊天记录文件EnMicroMsg.db怎样解密


下面第六行应该是TEST EDX,EDX,就是用来比对密码的汇编语言代码。在最前面地址位置(本文中是0F9712BA)双击设置断点(设置断点成功则地址会被标红,而且可以在断点窗口中看到设置成功的断点)
点击“运行”按钮(或者在调试菜单中选择“运行”),这时寄存器窗口中的EDX的值应该是00000000。


推荐阅读