SMS.db
iPhoneのSMSを外部に書き出すツールに、SMS2Mail(要JailBreak)というのがあるのでいれてみたのだけれども、ところどころ取得出来ていないものがある。どうも、SMSは大丈夫なのだけど、MMSはダメっぽい?
はて、どのような形でデータを格納しているのだろう?という事でちょっと調べてみた。
SMS/MMSアプリは、データをSMS.dbというsqliteのデータファイルで保持している様子。とりあえず、PCに吸いだして中身を見てみた。
メール内容を保持しているテーブル1→message
これは、SMSの本文データを保持しているテーブルの様子。
他にも、差出人や受信日付、既読管理とかもここでやっている様子。
textという項目にメールの本文が格納されているようなのだが、これがたまに空のレコードがある。おそらく、これがSMS2Mailでうまく取れないデータなのだろう。
メール内容を保存しているテーブル2→msg_pieces
MMSや写真を添付したファイルなどのマルチパートなメールは、こちらにデータが格納されるっぽい。
各パートが1レコードに分割されて入っている様子。
このテーブルのmessage_id と messageテーブルのrow_id をouter join すればひと通りの内容を確認することは可能な感じ。
jpegとかは、たぶんバイナリで格納されているはず。ファイルに取り出す方法がよくわからんので、とりあえず放置。
そんな事しらべたりしている感じ。