今是昨非

今是昨非

日出江花红胜火,春来江水绿如蓝

將iPhone所有短信匯出至Excel

將 iPhone 所有短信匯出到 Excel#

打算找一些短信,用於作為樣本訓練識別。

一開始打算網上找到垃圾短信樣本,但找了好久沒找到,於是就想到用自己和家人手機裡的短信,毕竟手機裡短信一般不刪除,也有小幾千條,而且垃圾短信、推銷、廣告之類的應有盡有。

所以問題就變成了,如何匯出 iPhone 短信?

這裡筆者也查了好久,找到的第三方軟體基本都是需要收費,最終發現了一個免費匯出的方案。

首先不加密備份手機到電腦,如下圖,選中Back up all the data on your iPhone to this Mac,點擊Back Up Now,等待備份完成,備份完成後,再點擊Manage Backups

備份界面

Manage Backups點擊後,界面如下,可以看到已備份的記錄,右鍵選擇Show In Finder,在文件夾中打開

管理備份

然後可以看到備份所在目錄已打開,這時候需要找到文件名為3d0d7e5fb2ce288813306e4d4636395e047a3d28的文件,這個文件就是短信備份的數據庫文件。然後問題來了,怎麼找呢?看到備份目錄一個個文件夾是不是懵,這怎麼找,很簡單,搜索,點擊右上角的搜索,直接把這個文件名輸入即可,注意搜索的範圍是當前文件夾,

備份文件夾

搜索結果如下:

短信備份數據庫文件

然後把這個文件單獨拷貝到另一個地方,比如桌面,再用數據庫軟體打開,比如SQLPro for SQLLite,打開如下:

短信數據庫文件打開

然後觀察這個文件後發現,手機號和短信記錄分佈在不同表中,需要寫一個 SQL 查出需要的內容,SQL 內容如下,參考SQL to extract messages from backup,選中上圖中Query,輸入命令如下:

SELECT datetime(message.date, 'unixepoch', '+31 years', '-6 hours') as Timestamp, handle.id, message.text,
    case when message.is_from_me then 'From me' else 'To me' end as Sender
FROM message, handle WHERE message.handle_id = handle.ROWID AND message.text NOT NULL;

然後點擊右上角的執行,可以看到,把短信都篩選出來了
短信篩選

然後選中所有 row,右鍵選擇Export result set as 匯出CSV,即可匯出 excel 格式的文件。

匯出短信

這樣就獲取到了所需的短信樣本。

參考#

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。