首先你要得到微信的数据库,具体的可以百度,网上是可以百度到方法的。这里简单说一下。
**
1利用手机root后可以访问任何目录的功能获取到微信db。
**
**
2、通过手机定制rom(一般是和厂商合作获取备份任何文件的接口(举例小米rom))。
**
获取到的微信db后可以破解微信的db(是加密过的,破解方法也是百度可百到的,这里不讲),破解后通过工具连接。附上下载链接https://download.csdn.net/download/qq_21687123/12084080
微信是多库的,这里主要讲这个库
用工具打开后有很多的表,这里挑几个我比较倾向的几个表做分析。
//联系通讯录
select * from rcontact where nickname='美眉'
//聊天记录
select * from message
chatroom表是微信群表。其中memeberList是所有的群员,以逗号隔开的。
message表中:
type为3是图片,为49是文件,1是个人聊天的文字内容(含表情),10000是群里的系统提示消息,43是视频格式文件类型,34是发送语音。
isSend:0为不是我主动发送的,1为我主动发送过去的。
talker:如果属于群组消息都会带有@chatroom结尾,如果是个人就是个人的id了
msgSvrId不为空的说明是服务器同步过的,
imgPath如果不为空且是id的形式,则对应于voiceinfo表或者videoinfo2表,区别在于看type是语音类型还是视频类型的。
(如果是语音的话imgPath值的MD5取第1到2位+“/”+md5取第3到4位+“/”+msg_imgPath的值+“.amr”,例如"6c/5b/msg_040949010820c1aa467cc0d105.amr")
(如果是视频文件的话,直接在video)
rcontact表中:
的username就是微信的id,gh开头的是公众号或者小程序吧,wxid开头的就是用户,以@chatrom结尾就是群组了。
alias就是我们通常说的微信号了。
type:33代表系统的应该是微信的功能的(漂流瓶、附近的人、腾讯新闻、摇一摇、朋友圈、群发助手等),0为小程序的,3或者其他例如1、4、513、515、38771等应该都为和用户类似的估计和功能节点(部署)有关。
ContactLabel表:是标签表
AppMessage表估计是一些公众号等消息信息摘要
ImgInfo2表对应的是聊天的图片信息表,至于ImgInfo表示干嘛的?这里就不清楚了。
thumbImgPath字段对应的值例如THUMBNAIL_DIRPATH://th_742c574a7bb8d85ef39e2608ab10dd50,会取th_后面的前四位,作为文件目录。例如/74/42/742c574a7bb8d85ef39e2608ab10dd50,这里需要取字段的大中小图了。字段midImgPath估计就是了
appattach表发送文件,然后点击下载文件后的关联表。可以获取文件的路径,根据mediaSvrId(应该是很长很长以@cdn开头的)获取查询。如果clientAppDataId有值的话说明是自己发送的(并且是时间戳和mediaSvrid一样的),否则是下载的。