iTunesバックアップからiPhoneの通話履歴をsqliteで取り出す

下の画像の左側がiPhoneの通話履歴画面ですがこれを取り出すのに画像右側のiTunesによるバックアップが使えそうなことを知りました。

image

WindowsのCygwinだと以下のようなsqlite3コマンドの入れ子で直近3ヶ月の通話履歴を抜き出せました。とりあえず今日は最終結果だけ。補足とかここまでの経緯はまたいつか書きたいと思います。

$ cd $(cygpath $APPDATA)/Apple\ Computer/MobileSync/Backup/*
$ sqlite3 \
 $(sqlite3 Manifest.db \
 "select substr(fileID,0,3)||'/'||fileID from Files \
 where relativePath='Library/CallHistoryDB/CallHistory.storedata'") \
 "select case zoriginated when '0' then 'Incoming' when '1' then 'Outgoing' END as Direction, \
 cast(round(ZDURATION) as integer) as Duration, \
 datetime('2001-01-01','+' || ZDATE || ' second','localtime') as date, \
 ZADDRESS from ZCALLRECORD \
 order by 3 asc" |
 (head -5 ; echo "[...略...]" ; tail -5)
Incoming|306|2017-06-20 01:11:35|+1415xxxxxxx
Outgoing|0|2017-06-20 01:17:18|+1xxxxxxxx
Incoming|0|2017-06-20 01:18:20|+1xxxxxxx
Outgoing|185|2017-06-20 01:18:27|+1xxxxxx
Outgoing|2730|2017-11-12 12:25:11|0120xxxxxxx
[...略...]
Outgoing|188|2018-01-15 17:22:12|03xxxxxxx
Incoming|269|2018-01-16 10:10:44|080xxxxxxxxxx
Incoming|54|2018-01-16 12:21:32|090xxxxxxxxx
Incoming|60|2018-01-16 12:40:24|045xxxxxxxx
Outgoing|0|2018-01-16 16:25:31|044xxxxxxxxx

なぜか去年6月の履歴も入ってますがこれはFaceTimeだと思います。あと、MacBookだともう少し簡単みたいです。

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s