對于微信的使用,這幾年來越來越普遍,大眾。甚至在簡歷的里面,有時為了方便交流,也會留下微信的聯(lián)系方式。但是對于微信聊天記錄的保存,個人感覺不是很友好。最近由于一些失誤,把重要的信息搞沒了,然而里搞外搞,發(fā)現(xiàn),原來都是在瞎搞......對了,我的是android微信。
微信有個 :recover
微信的隱藏功能,輸入:recover,恢復(fù)聊天記錄
對于這個方法,我想只能說我瞎,由于沒有看到最關(guān)鍵的一句話,注意:目前僅支持IOS系統(tǒng)。所以......GG。
各種恢復(fù)軟件
對于第一個辦法不行之后,我開始寄希望各種強大的軟件。搜索后,發(fā)現(xiàn),這個更不靠譜。有好幾個都吹噓說,可以恢復(fù)的一年前的微信聊天記錄。然而一個個試后,不是不騙錢,就是流氓軟件。
破解EnMicroMsg.db文件
我不是一個喜歡折騰的人,很不喜歡。但是這個信息比較重要,沒辦法,只能折騰了。我想,如果可以找到以往的聊天記錄,那么在本地可能存在對應(yīng)的聊天數(shù)據(jù)文件(EnMicroMsg.db)。所以就開始了下面的折騰。
手機已經(jīng)獲取
root權(quán)限
在折騰前的第一件事情,就是把手機獲取root的權(quán)限。對于root權(quán)限,簡單的來說就是,你獲得了手機完整的控制權(quán)。不像以往一樣,無法卸載系統(tǒng)預(yù)裝的應(yīng)用,也沒有辦法查看一些系統(tǒng)文件。當然root的方法有很多,現(xiàn)在也有一些一鍵root的軟件,比如360root,root大師,root精靈等等......root成功后,下載RE文件管理器,用以查看系統(tǒng)文件。-
取得EnMicroMsg.db文件
打開RE文件管理器從根目錄開始,進入此目錄data/data/com.tencent.mm/MicroMsg/,我們發(fā)現(xiàn)有很多長字符串的文件夾,這就是在此手機上登錄過的微信的數(shù)據(jù)。打開任意一個,我們會發(fā)現(xiàn)EnMicroMsg.db文件,這就是聊天記錄的文件。然后弄到PC上。
獲取EnMicroMsg.db -
獲得
IMEI和UIN-
IMEI(International Mobile Equipment Identity)是國際移動設(shè)備身份碼的縮寫,國際移動裝備辨識碼,是由15位數(shù)字組成的"電子串號",它與每臺移動電話機一一對應(yīng)。當然如果是雙卡手機的話,就會存在倆個IMEI值,查詢方式:在撥號界面下輸入:*#06#,則可能會顯示如下(雙卡)。
移動通信國際識別碼1 : 123456789012345 移動通信國際識別碼1 : 123456789054321 MEID:1234567890124-
uin(user information),也就是特定微信用戶的ID。打開RE管理器從根目錄開始,進入此目錄data/data/com.tencent.mm/shared_prefs/,我們可以看到一個文件名為system_config_prfs.xml,打開。
... <int name="default_uin" value="1234567890" /> ...里面的value就是我們所要的uin信息。
-
打開EnMicroMsg.db文件
在打開文件前,我們需要下載一個sqlcipher軟件,但是在打開文件時,發(fā)現(xiàn)文件有加密。這就需要用到上面的IMEI和UIN啦。

在解密的過程中,我們把IMEI和UIN合在一起,進行md5加密,然后取前七位(必須為小寫),就是文件的密碼。
IMEI : 123456789012345
UIN : 1234567890
string : 1234567890123451234567890
md5加密 : 9bed8bc3f4d541efa25f39d8a0c7bf98
解鎖文件密碼:9bed8bc
打開后就是這樣,選取message表,則其中的talker就是對方微信賬號,而content就是聊天的內(nèi)容。

在Execute SQL中,我們可以先把 talker 通過某條記錄查找到,然后通過執(zhí)行SQL語句來查看結(jié)果集。比如,查看與xxx的聊天內(nèi)容。
select content from message where talker = 'gh_6f6409369de6';

雖然能玩玩,但是也就是能看你當前聊天界面所有的信息,不能恢復(fù)以前的。
干了這么多,沒有卵子用。
結(jié)論
結(jié)論,就是不能恢復(fù)。我們通過查看結(jié)果集發(fā)現(xiàn),刪除掉的記錄不再表中,之后我又實驗了一下,發(fā)現(xiàn)刪除聊天窗口的同時,也會在table中進行更新。
之后,我在知乎發(fā)現(xiàn):安卓微信5.3(大概在2014年中發(fā)布)以后的版本已經(jīng)不支持聊天記錄恢復(fù),在刪除的時候就已經(jīng)覆寫了一遍。說實話有點心痛。
