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表

 

通過對以上信息進行處理,可以可視化恢復基於羣組的聊天場景。

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