前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在mac os 中解密 WeChat DB

在mac os 中解密 WeChat DB

作者头像
用户6343818
发布2021-12-09 12:41:49
4.1K2
发布2021-12-09 12:41:49
举报
文章被收录于专栏:安全小圈安全小圈

前提知识

先来了解一下有哪些DB 和 db对应的作用

这里主要会使用到msg_x.db, wccontact_new2.db, group_new.db

代码语言:javascript
复制
Msg_1|2|3|4.db …… 这些是把聊天信息分割后生成的文件
wccontact_new2.db  微信上的联系人
group_new.db 群聊信息,群聊昵称,微信id
ftsmessage.db 这个数据库用密钥没有办法解开,有知道的小伙伴可以私信联系。

本次需要使用到的工具:lldb,DB Browser for SQLite, wechat

注意:

如果有小伙伴的mac book 一会儿运行了lldb之后出现error: attach failed: xxxxxxxxxxx 这个时候重启电脑 黑屏后 按住 command + R 进入恢复模式,然后输入账户密码,进入之后到上方点《实用工具》-〉点击〈终端〉之后输入 csrutil disable 然后 reboot 重启即可进行调试。

csrutil 的开启是为了提供系统完整性保护 关闭了之后我们就能使用lldb 对wechat进行调试。

搞事部分

1. 运行微信的记得退出微信先。

我们首先打开微信,点开之后不要做任何操作

2.然后我们打开终端

3.使用lldb工具对pid进行调试,使用pgrep 过滤出微信的pid

4.我们输入 breakpoint set –name sqlite3_key | br set -n sqlite3_key | br s -n sqlite3_key

br s -n 的意思就是在sqlite3_key的地方下断点

| 分割多种写法

然后在continue 一下

5.点击登陆,并在我们的手机上进行确认登陆

6.这个时候断点就生效了,程序会保持在刚才那个登陆确认的页面上,然后我们在lldb上就能够看到显示的汇编指令,可以看到最后一行是把rcx 寄存器中的值 赋值给了rsi

7.我们通过lldb 读取 rsi寄存器中的内容

memory read –s 1 -f x -c 32 $rsi

8.我们把得到的结果复制到ultraedit(你们自己下一下)然后我们把前面的地址去掉,替换掉0x,还有空格,最后把四行变成一行

9.最后变成一串长度为64的密钥,但是这样是没有办法解密的,因为我们一会儿要用row的方式解密,所以前面要加上0x

也就是变成这样

代码语言:javascript
复制
0xaac8b521a98740ecb***************************416b9fda1463abb023b3

10.获取到密码之后然后我们把db Browser 安装好之后 打开

11.把db文件拖进db Browser我这里拖的是wccontact_new2.db然后我们进行如下操作

12.点击ok就能打开数据库了

其余的数据库也是同样的操作,小伙伴们快动起手来试试8

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 零度安全攻防实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档