如何備份導出 iOS 微信聊天數據庫

openuser15 8年前發布 | 19K 次閱讀 備份 微信 數據庫 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

 

 本文由用戶 openuser15 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!