Android設備的微信數據分析(1)--EnMicroMsg.db的解密

EnMicroMsg.db是存儲用戶聊天信息的SQLite數據庫,爲了保護用戶的隱私,使用SQLCipher加密。通過查閱微信APP的反編譯代碼分析的資料,得知,解密密鑰是根據智能手機的國際移動設備身份IMEI,與當前微信用戶的uin計算得出的。具體計算公式爲:

 

該加密方法從微信5.0以來均未發生變化。其中Left7爲提取字符串的前七個字符。IMEI和uin的數據可以從以下配置文件中提取:

IMEI:data\data\com.tencent.mm\MicroMsg\CompatibilityInfo.cfg

uin:data\data\com.tencent.mm\shared_prefs\system_config_prefs.xml。

以IMEI= 866174957262534,uin = 2007803184的設備爲例,計算出的key值爲4c27f5d,使用SQLcipher.exe工具打開,輸入解密key,如圖,可以查看微信的數據表。

 

圖4.1微信數據表

 

聊天記錄保存在message表中,將其導出後可以看到詳細的聊天內容。如圖4.2與圖4.3所示,爲一段聊天場景對應的message表存儲。

 

圖4.2 message表中存儲的一段消息

 

圖4.3該消息對應的聊天場景

 

Message表中比較重要消息記錄數據字段有“talker”、“create time”、“type”、“content”、“imgPath”和“isSend”。“talker”字段存儲用戶與之通信的微信賬號,對應微信賬號的詳細信息存儲在“userinfo”表和“rcontact”表中。“create time”是此信息的時間戳。文本消息內容存儲在“content”中。“isSend”字段表示發送狀態,1由用戶發送,0爲“talker”創建用戶接收。

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