如何備份導出 iOS 微信聊天數據庫
網絡上已經有一些關于探討如何導出 IOS 版微信聊天記錄的導出,比如 WeBack 和 iTools ,但這兩類工具主導針對的都是小白用戶,并沒有給出如何獲取完整數據庫的方案,盡管實際原理相差無幾,但想要程序更好地進行操作數據,還是所有差別,特此記錄。
目前最新的 IOS 版本為 10.1.1,據觀察該版本的備份文件存儲格式與 IOS9 略有不同,因此部分沒有及時更新的導出工具暫時無法使用。
創建 iPhone 備份
想要獲取到應用的具體數據,就先要將數據以備份的形式先存儲在電腦上,本文以 Mac 系統為例。
首先,使用數據線將手機連接上電腦,如果是首次連接,需要選擇 信任該電腦 。
然后打開 iTunes,找到正在連接的手機:
在 備份 區域內,選擇 本電腦 ,并務必取消勾線 給 iPhone 備份加密 ,否則之后我們取出的數據也是無法使用的:
接著,點擊 立即備份 并等待備份完成:
至此,備份工作就已經完成了。
獲取微信數據庫
為了方便地取出相應的備份數據,我們需要借助工具 iPhone Backup Extractor ,雖然這是一款收費軟件,但是試用的功能已經完全滿足我們的需求。
下載安裝后,在左側列表找到我們剛剛創建的備份文件(圖標為 iTunes 樣式的):
單擊之后需要等待加載完成,大約需要幾十秒。加載完畢之后,我們就可以選擇專家模式(Expert Mode):
我們需要的文件為 Application Domains/com.tencent.xin/{UUID}/DB/MM.sqlite ,將其勾選:
在 com.tencent.xin 目錄下會有多個 UUID 組成的目錄,其中一個全部為 0 可以忽略。剩下就需要根據你的微信用戶來選擇了(如果知道算法的小伙伴請不吝賜教!),我的手機只登陸過一個微信號,所以沒有這個麻煩:
最后,就可以單擊右下角的 Extract 按鈕導出數據庫了:
至于數據庫里面的具體關系,我也并沒有全部搞清楚,但是會在下篇中舉出已經發現的線索,足夠進行用戶識別和聊天記錄分析。敬請期待!
來自:https://github.com/Unknwon/wuwen.org/issues/15