首页
社区
课程
招聘
[原创]微信 PC端 数据库 自动解密
发表于: 2021-7-22 15:43 31163

[原创]微信 PC端 数据库 自动解密

2021-7-22 15:43
31163

环境:

win10家庭中文版 10.0.19043 x64(本机)

微信 3.3.0.115

openssl-1.0.2r

PC密码为32字节。

手动流程参考看雪另一位dalao整理的文章,链接见最后的参考处。我主要是把整个过程实现了自动化,顺便复习了一下api hook。

打开微信(不点登录)。

打开Odb附加WeChat.exe。

查找->可执行模块->WeChatWin。

用插件找ASCII字符串(我打了中文搜索补丁,直接用中文搜索的搜索ASCII字符串)。

然后搜索字符串DBFactory::encryptDB,跳转到第一次出现该字符串的位置。这里旧版本可能是第二个字符串的位置。3.3版本我找到了两个,都跳转过去看看,其中一个push语句下面有一个TEST,另一个只有一个call就return了。要找的是有TEST那个。

该TEST语句就是比较密码的地方,双击设置断点。然后运行并登录。

停在断点时,选择edx在数据窗口中跟随。

然后把从edx开始的32字节的数据dump出来,该32字节的数据就是密码。

需要用到openssl,据说sqlcipher用的是最低版本的openssl。这里使用1.0.2u。

首先安装perl。(http://www.activestate.com/activeperl/downloads/

然后运行 x86 Native Tools Command Prompt for VS 2019 这个shell。

激活perl环境

编译

检查

安装

奇怪的是最后还是安装到了E:\usr\local\ssl\这个目录下

这里分享vs2019解密的过程。

在项目的属性页 -> C/C++ -> 常规 -> 附加包含目录 中添加openssl的include目录。

在项目的属性页 -> 链接器 -> 常规 -> 附加库目录 中添加openssl的include目录。

在项目的属性页 -> 链接器 -> 输入 -> 附加依赖项 中添加libeay32.lib和ssleay32.lib。

然后编译运行看雪文章中的代码。(链接见参考)


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2021-7-23 15:27 被wx_御史神风编辑 ,原因: 修改错误,更新附件
上传的附件:
收藏
免费 8
支持
分享
最新回复 (14)
雪    币: 3836
活跃值: (4142)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
nice
2021-7-26 10:31
0
雪    币: 226
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
3

2021-7-28 07:56
0
雪    币: 5593
活跃值: (5023)
能力值: ( LV9,RANK:143 )
在线值:
发帖
回帖
粉丝
4
grayxh
这个问题似乎是由缺少pw.bin文件引起的,这个文件是注入的dll在微信根目录下创建的,然后二进制模式写入的32字节数据库密钥。你可以打开微信根目录看看是否有这个文件,如果有就是微信根目录路径填写错误,如果没有可能是注入的dll有问题。
2021-7-31 22:37
0
雪    币: 226
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
wx_御史神风 这个问题似乎是由缺少pw.bin文件引起的,这个文件是注入的dll在微信根目录下创建的,然后二进制模式写入的32字节数据库密钥。你可以打开微信根目录看看是否有这个文件,如果有就是微信根目录路径填写错误 ...
是的 微信根目录没有pw.bin这个文件
2021-8-4 09:05
0
雪    币: 5593
活跃值: (5023)
能力值: ( LV9,RANK:143 )
在线值:
发帖
回帖
粉丝
6
grayxh 是的 微信根目录没有pw.bin这个文件
有可能是dll没注入到,另外微信更新了wechatwin.dll,这种方法已经不行了
2021-8-4 15:57
0
雪    币: 2433
活跃值: (4332)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
微信3.3.5.54  已经搜不到DBFactory::encryptDB了
2021-8-10 16:47
0
雪    币: 21
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
现在还有其它办法可以查吗?
2021-8-21 20:39
0
雪    币: 21
活跃值: (29)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
wx_御史神风 有可能是dll没注入到,另外微信更新了wechatwin.dll,这种方法已经不行了
楼主,现在还有其他办法可以查吗?
2021-8-21 20:40
0
雪    币: 19
活跃值: (759)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
其实吧根本不用Hook,也不用注入。
我最早时用的DLL劫持+Hook,后面被数字拦了之后就换了新的方法根本不需要dll
2021-8-30 11:01
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
11
大神,额,也不讲方法,就只说不需要hook,倒是给个好的方案出来呗
2021-12-22 18:17
0
雪    币: 202
活跃值: (1250)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
不错不错,在其他地方也看到过
2022-1-4 19:51
0
雪    币: 10
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
13
大神,现在还能用不
2022-2-22 15:09
0
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
14
过期了吧
2023-12-2 16:55
0
雪    币: 9
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
15
大佬们好本人微信被骗,有没有大佬能帮助找回
3小时前
0
游客
登录 | 注册 方可回帖
返回
//