iTunesにバックアップしたiPhoneのデータを漁る方法

⚠️
この記事は2010年の記事です。超絶古いです。当時の状況を確認頂くために残しています。なお、2014年に更新版を作成していますが…それも古い。
iPhoneユーザーなら多分何度も行っている「iPhoneとiTunes(パソコン)の同期」。これによりiPhoneの中身がバックアップされるので、いざと言う時に「復元」できるわけです。
しかし、何がバックアップされているのかまでは、意識していない方も多いのではないでしょうか。
今日は何がバックアップされているのか、そしてバックアップされたデータの漁り方をご紹介します。(Mac向けの記事ですがWindows向けの方法も追記しました。)
ちなみにパソコンにバックアップされたデータを漁ることで...Safariで閲覧したページの履歴はもちろん、通話履歴やSMSの送受信内容まで丸裸です。浮気調査や手動復旧にどうぞご活用ください。(もちろん漁られない方法もご紹介します...)

目次

何がバックアップされているのか?

これについては公式に発表されています。iPhone and iPod touch:バックアップについて - アップル社
これを読むとOS3.1では以下がバックアップされると書いてあります。
  • Safari ブックマーク、Cookie、履歴、および現在開いているページ
  • Map ブックマーク、最近の検索、および Map に表示されている現在位置
  • アプリケーション設定、環境設定、およびデータ
  • アドレスブックとよく使う項目
  • カレンダーのアカウント
  • 壁紙
  • メモ
  • 通話履歴
  • メールアカウント
  • YouTube のブックマーク
  • SMS メッセージ
  • 保存されている変換候補
    • (これらは、変換候補を採用しなかった場合に自動的に保存されます)
  • カメラロール
    • (iPhone で撮った写真とスクリーンショット)
  • ボイスメールトークン
    • (これは、ボイスメールのパスワードではありません。接続時の確認のために使用されます。SIM カードで同じ電話番号が利用できる電話にのみ復元されます)
  • Web クリップ
  • ネットワーク設定
    • (保存済みの wifi スポット、VPN 設定、ネットワーク環境設定)
  • 登録されている Bluetooth デバイス (これは、バックアップを行った同じ電話に復元する場合にのみ使用できます)
  • キーチェーン
    • (メールアカウントのパスワード、Wi-Fi パスワード、および Web サイトやその他のアプリケーションに入力するパスワードなどです。キーチェーンは、バックアップから同じ iPhone または iPod touch にのみ復元できます。新しいデバイスを復元する場合は、これらのパスワードをもう一度入力する必要があります)
  • 構成プロファイル
  • 外部の同期元のリスト
    • (Mobile Me、Exchange ActiveSync)
  • Microsoft Exchange のアカウント設定
  • Nike+iPod の保存済みのワークアウトと設定
  • App Store で購入したアプリケーションのデータ
    • (アプリケーション自体と、その tmp や Caches フォルダ以外)
  • カメラロールのビデオ
  • ロケーションサービスの使用を可能にするアプリケーションごとの環境設定
  • オフラインの Web アプリケーションのキャッシュ/データベース
  • ボイスメモ
  • Web ページの自動入力
  • 証明できない証明書を持つ信頼されたホスト
  • デバイスの場所の取得を承認された Web サイト
  • アプリケーション内で購入したもの
iPhoneの設定情報や撮影した写真はもちろんアプリのデータ(ゲームのハイスコアや日記アプリとかのセーブデータ)もバックアップされています。

2GB以上のカメラロール内のビデオは...

しかし、気になる文言もあります。
2GB以上のカメラロール内のビデオはバックアップされません。
iPhoneからは動画のサイズは見られないのですが...1時間を優に超えるような長編ムービーを撮影する人以外は関係ないかと思います。もしそんな方がいたら意識的にPCに取り込むようにしましょう。

バックアップは暗号化しよう!

このあと本題のバックアップデータの漁り方をご紹介しますが...簡単に漁れるのは暗号化されていないバックアップデータです。漁られたくない方は是非暗号化しましょう。
設定するには"iPhoneのバックアップを暗号化"をONです。
暗号化するにはパスワードを設定します。パスワードを忘れると復元できません。注意!
いままで暗号化していなかった人が暗号化すると...設定後のバックアップはフルバックアップとなるので時間が掛かります。1回バックアップしちゃえばあとは差分でバックアップしてくれます。

バックアップされたデータを漁ろう!

さて、今日の本題です。

動作環境

この方法はバックアップファイルのデコードにMacを使います。が、Windows向けの方法もちょこっと追記しました。
Mac OS X 10.5以上、iTunes 9とiPhone OS 3.1またはそれ以下のバージョンで動作するはずです。確認した環境はMac OX 10.6.1、iTunes 9.0.2、iPhone OS 3.1.2です。

バックアップファイルをバックアップする...

念のためですが...バックアップファイルを壊しちゃうと復元できなくなってしまうので、バックアップを念のためコピーしておきましょう。
~/ライブラリ/Application Support/MobileSync/Backup/
の下に数字と文字が羅列されたフォルダがあると思います。その中にバックアップデータが入っているのでフォルダごと適当な場所にコピーしておきましょう。
Backupフォルダの下に複数のフォルダがある場合は...iTunes->環境設定->デバイスからフォルダ日付を元にどのデバイスのバックアップなのか判断してください。

デコードする

バックアップデータはそのままじゃ扱いづらいので扱い易い形に変換します。
  1. iPhone / iPod Touch Backup Extractor - supercrazyawesome.comからiPhone Backup Extractor.app.zipをダウンロードして起動してください。
  1. "Read Backups"を押すと自動的にバックアップフォルダを探してデバイス一覧を表示してくれます。
目的のデバイスを選択してください。(複数のデバイスをiTunesに登録していると複数表示されます。)
  1. するとバックアップ内に含まれるアプリケーションのリストが表示されます。
目的のアプリを選択して"Extract"を押すと出力場所を指定してデコードしてくれます。今回はiPhoneの設定や着信履歴などを取得してみたいと思います。
  1. 着信履歴などを出力するには...リスト最下部の"iPhone OS Files"を選択して"Extract"です。
出力先フォルダを選択すると出力されます。結構時間が掛かりますが気長に待ちましょう。バックアップが暗号化されていると出力されません。
※iPhoneとiTunesが同期中はExtractしない方が良いと思います。 ※3.1.2だとiPhone Backup Extratorの途中で落ちることがありました。iPhone Backup Extractorの動作条件はOS 3.1 or Lowerと書いてあるので完全にサポートしていないか。もしくは私の環境の問題です。

出力される内容

出力される内容のうち主なものの場所は…
 
連絡先
iPhone OS Files/Library/AddressBook/AddressBook.sqlitedb
着信履歴
iPhone OS Files/Library/CallHistory/call_history.db
地図の検索履歴
iPhone OS Files/Library/Maps/History.plist
Safariのブックマーク
iPhone OS Files/Library/Safari/Bookmarks.plist
Safariの履歴
iPhone OS Files/Library/Safari/History.plist
SMSの送受信履歴
iPhone OS Files/Library/SMS/sms.db
カメラロール/写真
iPhone OS Files/Media/DCIM/
ボイスメモ
iPhone OS Files/Media/Recordings/

.sqlitedb/.dbの扱い方

拡張子が.sqlitedb/.dbのファイルはSQLite 3と言うファイルデータベースの形式です。Macにはsqlite3コマンドが搭載されているのでターミナルからも扱えますが、今回は簡単に扱えるAdobe AIRアプリをご紹介します。
 
英語表記なアプリですが内容を見るだけなら難しいことはありません。
  1. "Open DB Files"から目的の.sqlitedb/.dbを選択します。
  1. すると左の"Tables"にデータベース内のテーブルが表示され、右側の"Data"を選択するとそのテーブルの中身が表示されます。以下はsms.dbを読み込んだ場合です。
  1. "Export Data"を押せばファイルに吐き出しできますがSQL(INSERT)文です。"... VALUES ("と");"を置換すればCSVとして使い回せると思います。

.plistの扱い方

拡張子が.plistのファイルはプロパティリスト形式のファイルです。テキストエディタで開けるものもありますが、バリナリ形式のplistはテキストエディタで開けません。XCodeが入っている人はProperty List Editorを使いますが、開発者じゃないのでXCodeなんて入れたくないぜって方は...
 
 
を使いましょう。見るだけなら"File->Open"でplistを開くだけなので簡単に使えるかと思います。Safariのブックマークを開くとこんな感じです。

雑感

この方法は「iPhone単体でSMSの送受信履歴を吐き出しできなくてイライラする」などのシーンで役立つかと思います。App Storeで購入したアプリのデータもplistなりSQLite 3形式が多いので、アプリのデータを拾い出したい時にも使えるかもしれません。(手順は一緒。iPhone Backup Extractorで目的のアプリを選択して"Extract"。あとは.plistなり、.sqlitedbなりを漁る。)
怖いのは「暗号化されていないバックアップファイルの中身は簡単に見られてしまう」と言うこと。
iPhoneユーザーが使っているパソコンを抑えれば着信履歴やSMS送受信履歴、Safariで見ていたページまで...浮気調査が今までの携帯電話の何倍も簡単にできちゃいます。
機微な情報をiPhoneの中に入れる方は、iPhoneのロックに加えてバックアップの暗号化も必須ですね。そして、その時に設定するパスワードを忘れないように!

おまけ)Windowsでの漁り方

使うのはこれ

34.95米ドルのシェアウェアですがフリートライアル版で十分試せます。

動作環境

Windows XP/Vista/Windows 7iTunes 8.0以上iPhone/iPhone 3G/iPhone 3GS/iPod Touch/iPod Touch 2G OS 2.0以上(v1.6.5) 私はXP SP3/iTunes 9.0.2/iPhone 3G OS 3.1.2で動作確認しました。

使い方

iBackupBotはバックアップデータの読み込みだけじゃなく編集までできる恐ろしいソフトです。実行するとバックアップフォルダを自動検知してくれます。
バックアップの中身を出力するには...出力したいファイルを選択して"Export"です。
選択したファイルを出力するときは"Export only checked file(s)"を選びます。"Export with backup ..."はバックアップデータをインポート(編集)するときに使うファイルのようです。
iBackupBotにはSMS Message Viewer等も搭載されているようです。こりゃ便利。