Android设备的微信数据分析(2)--聊天场景恢复

message表中“type”字段对应不同形式的消息内容,包括文本、图像、视频和音频。不同类型的消息有不同的存储方案。通过分析“imgPath”图像存储路径字段中的编码字符串,可以从本地路径检索图像、音频和视频等多媒体对象。以<udir>表示用户的个人文件夹名,下面对多媒体文件分情况讨论。

对于聊天内容中的图片,可以在message表的content列看到注明的文件属性“<msg><img…”,并在imgPath列有特殊格式的编码字符串,表示其缩略图的存储路径。编码“THUMBNAIL_DIRPATH://th_a542a978853218876c1900b3f0d2e148”的图片,在message表中存储格式如图4.4。以S表示th_后的字符串,substr(S,X,X+n)表示取字符串S的X到X+n位,存储路径如下:

 

在以上例子中,如图4.5所展示,图像缩略图存储路径为“sdcard/Tencent/MicroMsg/<udir>/image2/a5/42”。图片若点击了“查看原图”或“保存到手机”,则可以在手机存储的微信相册路径“sdcard/Tencent/MicroMsg/WeiXin”找到相同编码的图片源文件,否则只能查看缩略图。

 

图4.4图片消息的存储格式与编码

 

图4.5对应的存储文件与缩略图

 

对于聊天内容中的音频与视频,如图4.6,content列中标注内容较相似,但在imgPath列中音频编码为26位,视频编码为23位。

以S表示编码字符串,音频文件存储位置可以按如下方式计算

 

如编码为“301623050620ba311261466103”的音频,MD5处理后前四位为908d,如图4.7所展示,存储路径为“sdcard/Tencent/MicroMsg/<udir>/voice2/90/8d”。

视频文件存储位置相对简单,以编码为文件名直接存储在“sdcard/Tencent/MicroMsg/<udir>/video”,以<编码>.mp4存储视频,以<编码>.jpg存储缩略图如图4.8所展示为编码为162330060520ba311265134的视频的存储格式。

 

图4.6音频与视频对应的存储编码

 

图4.7音频对应的存储文件

 

图4.8视频对应的存储文件

处理代码段如下

lenth = len(cell_data_st)
                if lenth == 26:
                    pat = cell_data_st
                    pat1 = hashlib.md5(str(pat).encode("utf8")).hexdigest()[0:2]
                    pat2 = hashlib.md5(str(pat).encode("utf8")).hexdigest()[2:4]
                    path = '音频文件路径:sdcard/Tencent/MicroMsg/<udir>/voice2/{}/{}'.format(pat1, pat2)
                elif lenth == 23:
                    path = '视频文件路径:sdcard/Tencent/MicroMsg/<udir>/video/{}.mp4'.format(cell_data_st)
                elif lenth == 0:
                    path = '/'
                else:
                    path = '图片文件路径:sdcard/Tencent/MicroMsg/<udir>/image2/{}/{}'.format(cell_data_st[23:25],
                                                                                       cell_data_st[25:27])

通过对以上信息进行处理,可以可视化恢复基于好友的聊天场景。

尽管微信群组功能不如QQ群一样功能强大,也不像企业微信群一样常常保留有重要沟通记录,微信群仍然可能记录有一些重要的信息。常见的刷单类与传销类诈骗也常常利用微信群作为犯罪活动的组织和进行地点。

chatroom表包含了所有群的相关信息,如图4.9,包括“memberlist”群成员清单,“displayname”群名,“roomowner”群主,“selfDisplayName”该账户在群中的名片。群组消息的聊天记录同样保存在message表中,解析方式同4.1所述。另外有rcontact表中包含了所有联系人记录了用户所有的联系人信息,包括好友、群内非好友与公众号。可以通过username列对应到相关微信用户。

 

图4.9 chatroom表

 

通过对以上信息进行处理,可以可视化恢复基于群组的聊天场景。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章