iPhone のすべてのメッセージを Excel にエクスポートする#
識別のためのサンプルとして、いくつかのメッセージを見つける予定です。
最初は、スパムメッセージのサンプルをオンラインで見つけるつもりでしたが、長い間探しても見つからなかったので、自分自身と家族の携帯電話のメッセージを使用することにしました。携帯電話のメッセージは通常削除されないため、数千件のメッセージがあり、スパムメッセージ、販売促進、広告などがすべて揃っています。
したがって、問題は iPhone のメッセージをどのようにエクスポートするかということです。
筆者も長い間調べましたが、ほとんどの第三者のソフトウェアは有料であることがわかりました。最終的に、無料でエクスポートできる方法を見つけました。
まず、暗号化されていない状態で iPhone をコンピュータにバックアップします。以下の画像のように、「この Mac に iPhone のすべてのデータをバックアップする」を選択し、「今すぐバックアップ」をクリックしてバックアップの完了を待ちます。バックアップが完了したら、「バックアップの管理」をクリックします。
「バックアップの管理」をクリックすると、以下のような画面が表示され、バックアップの記録が表示されます。右クリックして「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;
その後、右上隅の「実行」をクリックすると、メッセージがすべてフィルタリングされます。
その後、すべての行を選択し、右クリックして「結果セットをエクスポート」→「CSV」としてエクスポートすると、Excel 形式のファイルがエクスポートされます。
これで必要なメッセージのサンプルが取得できました。