前段时间解码过微信的dat图片,然后有同学问我数据库怎么解码,当然我陆续看了看,因为医院比较乱,所以就没有处理,这几天处理了一下,发现微信数据库的数据格式确实比较麻烦...
如何查看微信dat图片点击以下链接
%E5%BE%AE%E4%BF%A15.html
我们简单回顾一下近期的操作:
前两部分就不说了,都是按照大佬的教程直接做的,没什么改动,说不上多,这篇文章主要是简单的记录和整理,真的没什么特别的。。
先来几张图
根据获得的64位密钥解密数据库。
获取解密的数据库
打开后你会看到下表
味精数据库
以MSG.db为例,这个数据库主要存储聊天记录,表MSG里面包含了所有好友和群的聊天记录,如下图:

MSG 桌聊天记录
数据库
微信MSG下有很多数据库文件,如果我们需要的是好友+聊天记录,那么只需要三个数据库文件,分别是:MSG.db .db .db。当然,当存储的数据达到一定量的时候,就会有MSG0 MSG1等等。
萃取
因此我们只需要获取联系人,然后根据联系人获取对应的聊天记录,再把聊天记录展示出来就可以了。当然这个想法比较简单,麻烦的是微信的聊天数据格式比较多,大概有十几种,包括:消息/图片/表情/语音/视频/地图/名片/提现/红包/群消息/拍拍等等。
我们还需要将不同的数据格式解析成不同的内容,由于兴趣有限,我们只做了比较简单的//,除了之外,图片和视频都是存储路径,文件分别在/和/下分表,通过正则表达式匹配后,得到需要展示的文件。
蓝色的代表有聊天记录的好友。
文笔很low,随便写的
主营业务代码
/**** * * 微信的所有业务查询使用 */ const fs = require('fs'); const sqlite3 = require('sqlite3').verbose(); const lib = require('./lib'); module.exports