Skip to content

破損した電話または破損したチャットのバックアップから証拠メッセージを回復する

緊急電話番号は国によって異なります. このページでは、米国とカナダの番号 911 を使用しています。他の多くの国では、112、999、または別の番号が使用されています。 あなたの国の番号を見つけてください.

重大な民事訴訟、家庭裁判所の監護権争い、接近禁止命令の審理、職場での嫌がらせの告訴、請負業者の詐欺に関する紛争、または刑事弁護が、壊れた携帯電話や破損したバックアップ ファイル内に閉じ込められたテキスト メッセージ、WhatsApp チャット、iMessage、または Signal スレッドにかかっている場合、たった 1 回の間違ったクリックによって法的証拠が永久に破壊される可能性があります。最新のメッセージング データベースは、メッセージを単純なテキスト ファイルとして保存しません。これらはリレーショナル SQLite データベース 内に保存されます (sms.db iOSでは、 mmssms.db / bugle_db アンドロイドでは、 msgstore.db.crypt14 / crypt15 WhatsApp では SQLCipher データベース、Signal では SQLCipher データベース) に一時的な 先行書き込みログ (.db-wal) ジャーナル ファイル。

新しい携帯電話で単一のクラウド バックアップを誤って空のデータベースで上書きしてしまった場合、または破損した SQLite データベースを非表示のデータベースをコピーせずに開いた場合 -wal 先にファイルを提出したり、相手方の弁護士が偽物として反対するトリミングされた認証されていないスクリーンショットを提出したりすると、データと訴訟の両方を失う可能性があります。

このガイドでは、米国国立標準技術研究所 (NIST) 特別出版物 800-101 Rev. 1 (モバイル デバイス フォレンジックに関するガイドライン)、連邦証拠規則 (FRE) 規則 901(b)(9) および 902(14) (自己認証型電子証拠) に基づいた非破壊チャット抽出、SQLite データベース修復、暗号化バックアップ復元、裁判所で認められたフォレンジック保存プロトコルを段階的に説明します。 SHA-256 ハッシュ証明書経由)、および公式の SQLite / SQLCipher リカバリ仕様。

今すぐこれを実行してください

破損した携帯電話、誤って削除されたスレッド、または失敗したバックアップから重要なテキストまたはチャット メッセージを救出する必要がある場合は、次の手順を実行します。

  1. すぐに携帯電話を機内モードにし、iCloud/Google ドライブの自動バックアップをオフにします。 これはモバイル フォレンジックの第一のルールです。なぜ?まず、iMessage でメッセージを削除するとき (sms.db)、WhatsApp (msgstore.db)、または Android メッセージの場合、テキストは フラッシュ ドライブからすぐには消去されません。SQLite データベースの 「フリーリスト / 未割り当てページ」 内、または一時的な 先行書き込みログ (.db-wal) データベースがバックグラウンドで実行されるまで VACUUM クリーンアップするか、その上に新しいメッセージをコミットします。次に、今日携帯電話でメッセージが削除された場合、*今夜の自動 Wi-Fi バックアップによって上書きされるまで昨夜の午前 2 時の iCloud バックアップまたは Google ドライブ WhatsApp バックアップにはそのままのメッセージが含まれています。 機内モード をオンにすると、ローカル SQLite の上書きとクラウド バックアップの上書きの両方が即座に停止されます。メッセージを保存している家庭内暴力者やストーカーによって差し迫った身体的危険にさらされている場合は、まず安全な場所に避難し、地元の緊急電話番号 (米国とカナダでは 911、欧州連合では 112、英国では 999) に電話するか、 緊急電話番号。
  2. 古いアーカイブを復元する前に、新しい携帯電話に WhatsApp または Signal をインストールまたはサインインし、[今すぐバックアップ] をクリックしないでください。 何百万人ものユーザーが、携帯電話を交換するときに何年もの WhatsApp の証拠を失います。最初の復元プロンプトをスキップし (または復元が 99% で失敗した場合)、新しい空の WhatsApp インストールで Google ドライブまたは iCloud への自動バックアップが実行されると、数ギガバイトの過去のクラウド バックアップが 0 キロバイトの空白で上書きされます。バックアップ。
  3. 電話機の画面が黒いか粉々になっている (タッチ デジタイザが壊れている) にもかかわらず、電話機が振動したりチャイムが鳴る場合は、再起動しないでください。 iOS と Android の両方で (ファイルベースの暗号化 / 最初のロック解除前 - BFU と最初のロック解除後 - AFU)、最後の再起動以降に電話機が 1 度ロック解除されている限り (AFU 状態)、メッセージ データベースを保護する暗号キーは RAM 内に復号化された状態で保存されているため、15 ドルの USB-C / Lightning ハブと有線 USB コンピュータ マウスおよび HDMI モニタを接続してクリックできるようになります。 "Trust This Computer" そして完全なローカルバックアップを取得します。画面が壊れた携帯電話を強制的に再起動すると、次のような状態になります。 BFU ロック状態。最初に画面を固定しないと、USB マウスもコンピュータもロックを解除できません (ガイドを参照してください)。 壊れた、または水没した携帯電話の回復)。
  4. 生の SQLite データベースをコピーするときは常に (sms.db または msgstore.db)、常に 3 つの兄弟ファイルを一緒にコピーしてください (.db、 .db-wal、そして .db-shm). 最新のモバイル メッセージング データベースはすべて SQLite WAL (先行書き込みログ) モード で実行されます。最近の数日または数週間のメッセージがコンパニオン内に残っていることがよくあります sms.db-wal または msgstore.db-wal ファイル、メイン内ではありません .db ファイルはまだです。コピペだけなら sms.db そして去ります sms.db-wal その後、最新のメッセージが消えるか、データベースが破損したものとして開きます。
  5. エクスポートされたバックアップ ファイルまたはデータベース ファイルの暗号化 SHA-256 ハッシュをすぐに計算して記録します。 復元されたバックアップ ファイルを検査または変換する前に、次のコマンドを実行します。 sha256sum (Linux/macOS) または Get-FileHash -Algorithm SHA256 (Windows PowerShell) 元のアーカイブにコピーし、64 文字のハッシュ文字列を保存します。 連邦証拠規則 902(14) に基づき、SHA-256 ハッシュ値は、デジタル メッセージ アーカイブが決して改ざんされたり、フォトショップで加工されていないことを法廷で証明するためのゴールド スタンダードです。
flowchart TD
    A["証拠メッセージ (SMS、iMessage、WhatsApp、Signal) を緊急に復元および保存する必要がある"] --> B["即時フリーズ: 電話機で機内モードを有効にし、他のデバイスで自動クラウド バックアップを無効にする"]
    B --> C{"電話とメッセージの現在の状態はどうですか?"}
    C -->|"1. 電話は機能しますが、メッセージが誤って削除されただけです"| D["クラウド バックアップ (iCloud / Google Drive) またはローカル WhatsApp の「/Databases」フォルダーに削除前のスナップショットがあるかどうかを確認します"]
    D --> E["ライブ電話で復元する前に: まず、SQLite WAL フリーリストを保存するために、完全なローカル暗号化バックアップを PC/Mac (`idevicebackup2` / iTunes / Finder / ADB) に作成します。"]
    C -->|"2. 電話の画面が壊れているか真っ暗ですが、ボードの電源はまだ入っています"| F["再起動しないでください (「最初のロック解除後」状態を維持してください)。 USB-C/Lightning ハブ + 有線 USB マウス + HDMI ディスプレイを接続して、PC バックアップのロックを解除して認証します"]
    C -->|"3. チャット バックアップ ファイルまたは SQLite データベース (`sms.db`、`msgstore.db`、Signal) が破損している/復元に失敗する"| G["3 つのファイル (`.db`、`.db-wal`、`.db-shm`) をすべて PC/Mac 上の作業ディレクトリにコピーします。"]
    G --> H{"データベースは暗号化されていますか (「crypt14/crypt15」または SQLCipher)、または標準 SQLite ですか?"}
    H -->|"暗号化された WhatsApp / シグナル"| I["64 文字の E2EE キー / `/data/data/com.whatsapp/files/key` (`wa-crypt-tools`) または Signal 30 桁のパスフレーズ (`signalbackup-tools`) を使用して復号化します。"]
    H -->|"復号化された/標準SQLite"| J["「sqlite3 .recover」を使用して破損した B ツリー ページを修復するか、フリーリストおよび WAL フレームから削除されたレコードを切り出す"]
    E --> K["法廷での認証: SHA-256 ハッシュ + キャリア CDR を含むフルスレッド PDF + FRE 902(14) 宣言を生成"]
    I --> K
    J --> K

モバイル メッセージ ストレージのアーキテクチャ: メッセージが実際に保存される場所

削除または破損したメッセージを破壊せずに回復するには、各オペレーティング システムとメッセージング プラットフォームがライブ データベース、暗号化キー、およびローリング ローカル バックアップを保存する場所を理解する必要があります。

メッセージングアプリ/OS 内部データベース ファイル パス 暗号化アーキテクチャ 隠されたローカルまたはクラウドのバックアップが存在する場所
Apple iOS: iMessage および SMS / MMS / RCS /HomeDomain/Library/SMS/sms.db (プラス sms.db-wal そして sms.db-shm)
メディアの添付ファイル: /HomeDomain/Library/SMS/Attachments/
(Finder/iTunes ローカル バックアップ内、 sms.db 常に SHA-1 ファイル名で保存されます 3d0d7e5fb2ce288813306e4d4636395e047a3d28)
標準 SQLite 3 データベース (iOS データ保護クラス C によってディスク上で保護され、ローカル PC/Mac バックアップ内で暗号化されます) "Encrypt local backup" パスワードは有効になっています)。 1. ローカル Mac/PC Finder/iTunes バックアップ (-/Library/Application Support/MobileSync/Backup/ または %APPDATA%\Apple Computer\MobileSync\Backup\)。
2. iCloud デバイスのバックアップ (場合 "Messages in iCloud" オフ、完全なスナップショット sms.db 毎日の iCloud バックアップ内にあります)。
3. メッセージ アプリ内の iOS の「最近削除した」フォルダー (Edit -> Show Recently Deleted、削除されたテキストは 30 ~ 40 日間) 保持されます。
Android: Google メッセージ (SMS / MMS / RCS) /data/data/com.google.android.apps.messaging/databases/bugle_db (およびシステム テレフォニー プロバイダー /data/user_de/0/com.android.providers.telephony/databases/mmssms.db) ハードウェア支援の Android File-Based Encryption (FBE) ユーザー認証情報パーティション内の標準 SQLite 3 データベース。 Google One / Android クラウド バックアップ (Google アカウントに添付された SMS および MMS/RCS メッセージを自動的にバックアップします)。
Android 上の WhatsApp ライブ内部 DB (ルート/キーが必要): /data/data/com.whatsapp/databases/msgstore.db + /data/data/com.whatsapp/files/key
ユーザーがアクセスできるローカル バックアップ: /sdcard/Android/media/com.whatsapp/WhatsApp/Databases/msgstore.db.crypt14 (または .crypt15)
.crypt14: 158 バイトを使用して暗号化された AES-256-GCM key に保存されているファイル /data/data/com.whatsapp/files/key。
.crypt15: エンドツーエンドの暗号化バックアップは、64 桁の 16 進数の暗号化キー またはパスワードによって保護されます。
7 日間ローリング ローカル履歴: 毎晩 02:00 AM に、Android 上の WhatsApp は最大 7 日間の日付付き履歴バックアップ ファイルを携帯電話の内部ストレージに直接保存します (msgstore-YYYY-MM-DD.1.db.crypt14)、さらに、Google ドライブ上の最新のバックアップ。
iPhone 上の WhatsApp (iOS) /AppDomainGroup-group.net.whatsapp.WhatsApp.shared/ChatStorage.sqlite (プラス .sqlite-wal)
*(iTunes/Finder バックアップ内では、 ChatStorage.sqlite ** としてハッシュ化されます7c7fba66680ef796b916b067077cc246adacf01d**)*
iOS アプリ グループ コンテナ内の標準 SQLite 3 (暗号化されていない、またはパスワードで暗号化解除されたローカル Mac/PC iPhone バックアップでアクセス可能)。 iCloud Drive WhatsApp バックアップ と ローカル Mac/PC Finder/iTunes フルデバイス バックアップ。
Signal プライベート メッセンジャー (Android および iOS) Android ローカル バックアップ ファイル: signal-YYYY-MM-DD-HH-MM-SS.backup
デスクトップ アプリ (Windows/Mac/Linux): -/.config/Signal/sql/db.sqlite + config.json (またはOSキーチェーンのsafeStorageキー)
アンドロイド .backup: バックアップをオンにしたときに表示される 30 桁の数字のパスフレーズ で暗号化されます。
Signal デスクトップ: SQLCipher 4 で暗号化。復号化キーは内部に保存されます config.json / ラップトップ上の OS キーチェーン。
重要なフォレンジック バイパス: Signal 電話機が壊れたり紛失したりした場合でも (iOS Signal はクラウド バックアップを提供しません)、Windows、Mac、または Linux ラップトップで「Signal デスクトップ」をリンクしたことがある場合、完全な復号化されたメッセージ履歴はラップトップ内にローカルに保存されます。 -/.config/Signal/sql/db.sqlite データベース。

シナリオ 1: 削除または破損した iPhone メッセージを復元する (sms.db & ChatStorage.sqlite)

iPhone で重要な iMessage、SMS テキスト、または WhatsApp メッセージが削除された場合、または iPhone が破損した場合は、優先順位に従って次の手順を正確に実行してください。

ステップ 1: 組み込みの iOS の「最近削除した項目」保管庫を確認する (最初の 30 ~ 40 日間)

iOS 16、iOS 17、iOS 18 以降では、テキストまたは iMessage スレッドを削除しても、そのスレッドは生の SQLite フリーリスト領域にすぐには移動しません**。 30 日間 (永久に削除されるまで最大 40 日間)、非表示のゴミ箱フォルダーに移動されます。 1. iPhone で メッセージ アプリを開きます。 2. 左上隅にある 編集 (または フィルター) をタップします。 3. [最近削除されたものを表示] をタップします。 4. 会話を選択し、回復をタップします。

ステップ 2: 抽出 sms.db そして ChatStorage.sqlite 何も上書きせずにローカル Mac / Windows バックアップから

メッセージが「最近削除された項目」から完全に削除された場合(または法廷でメッセージを抽出する必要がある場合や、削除された SQLite 行を分割する必要がある場合)、電話機がまだ機内モードである間に、直ちにコンピュータ上に完全なローカル バックアップを作成します:

  1. USB ケーブルを介して iPhone を Mac (Finder)、Windows PC (Apple デバイス / iTunes)、または Linux (libimobiledevice):
  2. 「ローカル バックアップを暗号化する」 チェックボックスをオンにして、忘れない簡単なパスワードを設定します (例: Evidence1234)。 (バックアップ暗号化を有効にする理由は何ですか? 暗号化されたローカル iOS バックアップには、Apple が暗号化されていないバックアップから削除する追加のフォレンジック アーティファクト、健康データ、通話履歴、およびキーチェーン項目が含まれます。)
  3. [今すぐバックアップ] をクリックし、完了するまで待ちます。
  4. コンピュータ上で未加工のバックアップ フォルダを見つけます:
  5. macOS: -/Library/Application Support/MobileSync/Backup/<UDID>/
  6. Windows: %APPDATA%\Apple Computer\MobileSync\Backup\<UDID>\ または %USERPROFILE%\Apple\MobileSync\Backup\<UDID>\
  7. 全体をコピーしてください <UDID> フォルダーをすぐに別の外部ドライブにコピーし、その SHA-256 ハッシュを計算することで、元のフォレンジック スナップショットが変更されることはありません。
  8. Apple の SHA-1 ドメイン ハッシュを使用して、iOS バックアップ内の正確なメッセージ データベースを見つけます。
  9. Apple は、iOS バックアップ内のすべてのファイルの名前を、そのバックアップの SHA-1 ハッシュに変更します。 Domain-RelativePath、2 文字のサブディレクトリにソートされます。
    • Apple SMS / iMessage データベース (HomeDomain-Library/SMS/sms.db): サブフォルダーにあります 3d/ -> ファイル3d0d7e5fb2ce288813306e4d4636395e047a3d28
    • WhatsApp iOS データベース (AppDomainGroup-group.net.whatsapp.WhatsApp.shared-ChatStorage.sqlite): サブフォルダーにあります 7c/ -> ファイル7c7fba66680ef796b916b067077cc246adacf01d
    • バックアップ ファイル インデックス (Manifest.db): すべての写真、音声メモ、添付ファイルのハッシュを実際のファイル名にマッピングするマスター SQLite インデックス SMS/Attachments/。
  10. (バックアップ暗号化を有効にした場合は、次のようなオープンソース ツールを使用して、バックアップの作業コピーを読み取り可能なフォルダーに復号化します。 iphone-backup-decrypt Python または評判の良いローカル ビューアのような iMazing または iBackup Viewer).

シナリオ 2: Android WhatsApp の回復 .crypt14 / .crypt15 と信号 .backup アーカイブ

1. 7 日間のローリングウィンドウが期限切れになる前に古い WhatsApp バックアップを救出する

3 日前に誰かがあなたの Android スマートフォン上の WhatsApp での不利な会話を削除し、昨夜の午前 2 時の Google ドライブのバックアップがすでにクラウド コピーを上書きしていたとしたらどうなるでしょうか? - Android スマートフォンを USB 経由でコンピュータに接続するか (ファイル転送/MTP モード)、Android ファイル アプリを開いて次の場所に移動します。

Internal Storage/Android/media/com.whatsapp/WhatsApp/Databases/
* (または古い Android バージョンの場合: Internal Storage/WhatsApp/Databases/)*。 - そのフォルダー内には、最大 7 つの個別のファイルが表示されます。 - msgstore.db.crypt14 (昨夜のバックアップ、削除されたメッセージがありません) - msgstore-2026-10-30.1.db.crypt14 (昨日のバックアップ) - msgstore-2026-10-28.1.db.crypt14 (メッセージが削除される前の 3 日前のバックアップ) - 3 日前のバックアップを携帯電話に安全に復元する方法: 1. 全体をコピーする Databases/ そして Media/ フォルダーを最初にコンピューターに保存して、何も失われることのないようにしてください。 2. 現在の名前を変更します msgstore.db.crypt14 に msgstore-CURRENT-NEW.db.crypt14.bak。 3. 古い削除前のファイルの名前を変更します msgstore-2026-10-28.1.db.crypt14 正確なアクティブなファイル名 msgstore.db.crypt14。 4. 機内モード をオンにして (または、WhatsApp が新しいクラウド バックアップを取得しないように、WhatsApp の Google ドライブ権限を一時的に取り消して)、WhatsApp をアンインストールして再インストールし、電話番号を確認し、WhatsApp がローカル アカウントを検出したときに、 msgstore.db.crypt14 ファイルを削除した場合は、「復元」をタップします。 3 日前のすべてのメッセージがそのまま表示されます。

2.破損した復号化 .crypt14 / .crypt15 コンピューター上の WhatsApp バックアップ (wa-crypt-tools)

暗号化されたラッパー内の SQLite データベースがわずかに破損しているために、携帯電話の復元中に WhatsApp バックアップ ファイルが 95% でクラッシュした場合はどうなるでしょうか?復号化できます .crypt14 または .crypt15 コンテナをコンピュータ上で直接実行し、SQLite データベースを修復して、すべてのメッセージを読み取ります。 - お持ちの場合は、 .crypt15 エンドツーエンドの暗号化バックアップ を作成し、64 桁の 16 進数キー を保存しました (または、 /data/data/com.whatsapp/files/key または encrypted_backup.key)、オープンソースの Python フォレンジック ツールをインストールします wa-crypt-tools (wagolek):

# Install wa-crypt-tools on Linux, macOS, or Windows Python:
python3 -m pip install wa-crypt-tools

# Decrypt a WhatsApp .crypt15 backup using your 64-character hex key:
wadecrypt <your_64_character_hex_key> msgstore.db.crypt15 msgstore.db

# Or decrypt a .crypt14 backup using the extracted 158-byte key file:
wadecrypt key msgstore.db.crypt14 msgstore.db
- 一度 wadecrypt 生を生み出す msgstore.db SQLite ファイル。公式 SQLite を使用して破損した B ツリー ページを修復できます。 .recover エンジンについては、以下のセクション 3 を参照してください。

3. 破損したシグナルの抽出と修復 .backup または Sign Desktop データベース

  • Androidの場合 signal-YYYY-MM-DD.backup ファイル: 新しい携帯電話が大きな Signal バックアップ ファイルのインポートを拒否した場合 (または、故障した SD カードからコピーするときにファイルが切り詰められた場合)、オープンソースのフォレンジック ツールを使用してください signalbackup-tools (github.com/bepaald/signalbackup-tools) 30 桁の数字のバックアップ パスフレーズを使用して、破損していないフレームを解凍し、生の SQLite データベースをエクスポートし、すべてのメディア添付ファイルがそのままの状態で、クリーンで検索可能な HTML 会話アーカイブを生成します。
    # Unpack a Signal Android backup (including truncated/partially corrupted archives) to HTML:
    signalbackup-tools signal-2026-10-30.backup "12345 67890 12345 67890 12345 67890" --exporthtml ./recovered_signal_chats/
    
  • Signal デスクトップの場合 (-/.config/Signal/sql/db.sqlite): スマートフォンが自動車事故で押しつぶされたり、湖に投げ込まれたりして、電話のバックアップがまったくない場合でも、ラップトップに Signal Desktop がリンクされていた場合は、Signal アプリケーション ディレクトリ全体をコピーしてください (%APPDATA%\Signal Windows では、 -/Library/Application Support/Signal macOS の場合、または -/.config/Signal Linux の場合)、アプリを開く前に、次を使用して SQLCipher データベースをエクスポートします。 signalbackup-tools または sqlcipher。

シナリオ 3: 破損した SQLite チャット データベースを修復する (database disk image is malformed) および削除された行をカービングする

電話機が書き込み中にバッテリー残量を失った場合、またはフラッシュ ストレージ エラーが発生した場合、 sms.db、 ChatStorage.sqlite、または msgstore.db 致命的な SQLite エラーがスローされます。 Error: database disk image is malformed (SQLITE_CORRUPT)

元のデータベースでは、破壊的なサードパーティの「有料 SQLite fixer」シェアウェアを決して実行しないでください。公式 SQLite を使用する .recover コマンド に直接組み込まれています sqlite3 (バージョン 3.29.0+)、壊れた B ツリー インデックス ポインターをバイパスして、生の 4 キロバイトのデータベース ページを 1 つずつスキャンします。

SQLite のステップバイステップ .recover およびWALチェックポイントの修復

  1. ** 3 つのデータベース ファイルすべての作業用コピーを作成します (.db、 .db-wal、 .db-shm) 新しいフォルダー内:**
    mkdir ~/chat_rescue && cp sms.db* ~/chat_rescue/ && cd ~/chat_rescue/
    
  2. 公式 SQLite を実行する .recover クリーンなデータベースを再構築するコマンド (および失われた/空きリスト行をキャプチャする):
    # Standard recovery of all intact tables and rows into a brand-new healthy database:
    sqlite3 sms.db ".recover" | sqlite3 sms_repaired.db
    
    # FORENSIC DELETED-ROW RECOVERY: Add the --ignore-freelist flag so SQLite ALSO recovers
    # deleted message fragments still sitting inside unallocated freelist pages into a 'lost_and_found' table:
    sqlite3 sms.db ".recover --ignore-freelist" | sqlite3 sms_forensic_with_deleted.db
    
  3. 修復されたデータベースから人間が判読可能な時系列の CSV/HTML トランスクリプトをエクスポートします。
  4. Apple iOSの場合 sms.db (2001 年 1 月 1 日以降の Apple の CoreData ナノ秒タイムスタンプを UTC/ローカル日付に変換):
    sqlite3 -header -csv sms_repaired.db "
    SELECT
        m.ROWID AS MsgID,
        datetime(m.date / 1000000000 + 978307200, 'unixepoch', 'localtime') AS Timestamp_Local,
        CASE WHEN m.is_from_me = 1 THEN 'SENT BY ME' ELSE 'RECEIVED' END AS Direction,
        h.id AS Contact_Phone_Or_Email,
        m.service AS Service_Type,
        m.text AS Message_Body,
        a.filename AS Attachment_Path
    FROM message m
    LEFT JOIN handle h ON m.handle_id = h.ROWID
    LEFT JOIN message_attachment_join maj ON m.ROWID = maj.message_id
    LEFT JOIN attachment a ON maj.attachment_id = a.ROWID
    ORDER BY m.date ASC;
    " > recovered_imessage_transcript.csv
    
  5. WhatsApp Android の場合 msgstore.db (現代 message テーブルスキーマ):
    sqlite3 -header -csv msgstore_repaired.db "
    SELECT
        m._id AS MsgID,
        datetime(m.timestamp / 1000, 'unixepoch', 'localtime') AS Timestamp_Local,
        CASE WHEN m.from_me = 1 THEN 'SENT BY ME' ELSE 'RECEIVED' END AS Direction,
        jid.raw_string AS Chat_Or_Sender_JID,
        m.text_data AS Message_Body
    FROM message m
    LEFT JOIN chat c ON m.chat_row_id = c._id
    LEFT JOIN jid ON c.jid_row_id = jid._id
    ORDER BY m.timestamp ASC;
    " > recovered_whatsapp_transcript.csv
    

回復されたメッセージを法廷で 100% 認められるようにする (「偽のスクリーンショット」の異議を回避する)

家庭裁判所、少額訴訟裁判所、接近禁止命令公聴会、民事訴訟では毎週、連絡先の上部のヘッダーに次のようなニックネームが記載されている、切り取られたスマートフォンのスクリーンショットを持って人々が裁判官に近づきます。 "Ex-Husband" または "Landlord Mike" 電話番号も日付もありません。反対側の弁護士は、連邦証拠規則 901 (認証の欠如) および 連邦証拠規則 106 (完全性の規則) に基づいて直ちに反対し、誰でも 2 台目のプリペイド電話の名前を変更できると主張 "Landlord Mike" 連絡先アプリで偽のメッセージを 30 秒以内に自分に送信します。

Warning

法廷での捏造に対する異議を申し立てられないようにテキストとチャットの証拠を作成する方法: 裁判官向けに証拠を印刷する前に、次の 5 つの法医学的認証手順に従ってください。

テキストおよびチャット証拠のための法廷認証の 5 つのポイント チェックリスト

  1. エクスポート/スクリーンショットを作成する前に、連絡先のニックネームを一時的に削除または名前変更して、生の電話番号 (+1-555-019-2834) または電子メールがすべてのヘッダーに表示されます:
  2. バックアップのスクリーンショットを撮る前に (あるいは、さらに良いのは、次のようなフルスレッドの PDF エクスポート ツールを使用することです) iMazing、 Decipher TextMessage、または表示名と生の文字列の両方を出力する上記の SQLite CSV クエリ handle.id すべてのメッセージ バブルに電話番号を表示)、カスタマイズ可能な連絡先のニックネームだけでなく、送信者の 実際の 10 桁の電話番号または Apple ID メール がスレッドの先頭に表示されていることを確認してください。
  3. 公式携帯通信会社の通話詳細記録 (CDR) と SMS/MMS タイムスタンプ ログを独立したサードパーティの裏付けとして取得します:
  4. 携帯電話会社 (AT&T、Verizon、T-Mobile、EE、Vodafone、Rogers、Telstra) は SMS メッセージの テキスト コンテンツ を長期間保持しません (そして、暗号化された iMessage/WhatsApp コンテンツは決して表示されません) が、毎月の携帯通信会社明細書またはオンライン アカウント ポータルには、すべての SMS/MMS メッセージと音声通話の正確な日付、分、方向 (着信/発信)、および電話番号の独立したサードパーティ ログが提供されます。
  5. 公式 AT&T / Verizon / T-Mobile 使用ログ をテキスト メッセージの印刷出力のすぐ後ろに添付すると、相手の電話番号が実際にあなたの携帯電話に SMS を送信したことが証明されます。 14:22:09 on October 12、スクリーンショットを偽造したという主張は破棄されます。
  6. 未編集の会話スレッド全体をエクスポートします (完全性の規則 - FRE 規則 106):
  7. 孤立したスクリーンショットを適当に選んだり、自分の返信を切り取ったりしないでください。 連邦証拠規則 106 に基づき、録音された会話の一部を提供した場合、相手方は周囲のスレッド全体を要求することができ、裁判官はタイムスタンプや以前のメッセージが省略されたトリミングされた画像に不信感を抱きます。完全な時系列の会話フローを印刷します。
  8. 元のデバイスと SHA-256 ハッシュ バックアップ ファイルを保存します (最良の証拠規則 - FRE 規則 1002 および自己認証 - FRE 規則 902(14)):
  9. 実際の電話機 (充電済み、ロック解除済み) を法廷の審問テーブルまで持参してください。そうすれば、相手方の弁護士がプリントアウトに異議を申し立てた場合に、裁判官に次のように伝えることができます。 *「閣下、最良の証拠規則に基づく法廷の査察のために、私はこの元の端末を弁護人席に置いています。」 *
  10. さらに、連邦証拠規則 902(14) (および米国全土で採用されている州の同等の規則) に基づき、電子デバイスからコピーされたデータは、元の抽出とコピーの SHA-256 デジタル ハッシュ値を記載した書面による証明書が添付されている場合、自己認証されます。
  11. 署名済みの「電子テキスト/チャット メッセージ認証宣言」を添付してください (以下のテンプレートをコピーして貼り付けます):
DECLARATION AUTHENTICATING ELECTRONIC MESSAGE EVIDENCE
(Pursuant to Federal Rules of Evidence 901(b)(1), 901(b)(4), and 902(14) / State Equivalents)

I, [YOUR FULL LEGAL NAME], declare under penalty of perjury under the laws of the State of [STATE] and the United States of America that the following is true and correct:

1. I am the [Plaintiff / Defendant / Petitioner / Respondent] in this action and have personal knowledge of the facts set forth herein.
2. I am the sole owner and user of the [Apple iPhone / Android Smartphone], assigned telephone number [YOUR 10-DIGIT PHONE NUMBER].
3. Attached hereto as EXHIBIT A is a true, complete, and unedited chronological transcript and printout of [SMS / iMessage / WhatsApp / Signal] messages exchanged between my telephone number ([YOUR NUMBER]) and [NAME OF OTHER PARTY] at telephone number [OTHER PARTY'S 10-DIGIT PHONE NUMBER] between [START DATE] and [END DATE].
4. I personally know that telephone number [OTHER PARTY'S NUMBER] belongs to and is used by [NAME OF OTHER PARTY] because: (a) we have communicated at that number regularly since [YEAR]; (b) I have spoken to [NAME OF OTHER PARTY] by voice call at that exact number and recognized their voice; and (c) the messages inside Exhibit A contain distinctive personal facts, photographs, and references known uniquely to [NAME OF OTHER PARTY] (pursuant to FRE Rule 901(b)(4) Distinctive Characteristics).
5. Not a single message, timestamp, or attachment in Exhibit A has been altered, deleted, or modified in any way. On [DATE OF EXTRACTION], a complete forensic backup of the original messaging database (`[FILENAME, e.g., sms.db / msgstore.db]`) was preserved prior to printing Exhibit A, yielding the following cryptographic SHA-256 hash fingerprint:
   SHA-256 Hash: [INSERT 64-CHARACTER HEXADECIMAL SHA-256 HASH FROM sha256sum / Get-FileHash]
6. Attached hereto as EXHIBIT B are true and correct copies of my official mobile carrier call/message detail records from [NAME OF CARRIER] independently corroborating the dates, times, and telephone numbers of the communications.
7. The original smartphone device and the SHA-256 verified backup archive remain in my secure custody and are available for immediate inspection by the Court.

Executed on [DATE] at [CITY, STATE].

____________________________________
[YOUR SIGNATURE]
[YOUR PRINTED NAME]

よくある質問

携帯電話会社 (AT&T、Verizon、T-Mobile、Vodafone) は、カスタマー サービスに電話した場合、削除したテキスト メッセージの内容を印刷して提供してもらえますか?

いいえ、通常のカスタマー サービスを通じてではなく、通常はメッセージの内容に関してもまったく同様です。まず、iMessage、WhatsApp メッセージ、Signal メッセージ、またはエンドツーエンドで暗号化された RCS チャットのコンテンツは、キャリアの SMS サーバーではなく暗号化された形式でインターネット上を通過するため、キャリアは決してアクセスできません。第 2 に、従来のグリーンバブル SMS テキスト メッセージであっても、大手通信会社は実際のテキスト本文をメッセージ交換サーバーに 3 ~ 7 日間バッファリングするだけであり (Verizon は SMS コンテンツをおよそ 3 ~ 5 日間保持します。AT&T と T-Mobile は SMS メッセージ本文のコンテンツを配信直後または 72 時間以内に破棄します)、バッファリングされた SMS コンテンツを公開するのは有効な裁判所命令の召喚状または捜査令状に応じた場合のみであり、電話中の顧客には決して公開しません。そのため、削除されたメッセージを自分の携帯電話の SQLite データベースから直接復元する必要があります (`sms.db` / `bugle_db`)または、iCloud/Google ドライブのバックアップが、ほとんどの場合、実際の単語を復元する唯一の方法です。

WhatsApp、Signal、または iMessage の相手が「全員に削除」または「消えるメッセージ」を使用して脅威を消去した場合はどうなりますか?

携帯電話がインターネットに接続されているときに送信者が「全員に削除」(iOS iMessage では「送信取り消し」)をタップすると、アプリは表示されている画面からメッセージを削除するリモート削除コマンドを受け取ります。ただし、次の 3 つのフォレンジック回復方法では、引き続きこの情報をキャプチャできます。(1) 送信者が「全員に削除」を押す前に携帯電話を機内モードにすると、画面を写真に撮ってバックアップするまで、リモート削除コマンドは携帯電話に到達できません。 (2) 「通知履歴」が有効になっている Android スマートフォンの場合 (`Settings -> Notifications -> Advanced settings -> Notification history`)、Android オペレーティング システムは、受信したすべての WhatsApp、Signal、および SMS 通知バナーの正確な全文を 24 時間記録し、「全員に削除」では Android システムの通知履歴ログを消去できません。 (3) iOS と Android の両方で、行を削除すると、バキュームされていない SQLite 内にテキストの断片が残ることがよくあります。 `.db-wal` 機内モードですぐに電話機のイメージを作成する場合の先行書き込みログ ファイル。

なぜエクスポートされたのですか `sms.db` または `msgstore.db` SQLite 用 DB ブラウザーでデータベースを開いたときに、データベースに過去 3 日間のメッセージがありませんか?

コピーしただけなので、 `.db` ファイルして残したもの `.db-wal` (先行書き込みログ) ファイルをソース ディレクトリに保存します。最新の iOS および Android データベースは SQLite WAL モードを使用し、新しく送受信されたすべてのメッセージがコンパニオンに追加されます。 `.db-wal` ファイルが最初に作成され、メインにマージ (「チェックポイント」) されるだけです。 `.db` 定期的にファイルします。抽出するたびに `sms.db`、 `ChatStorage.sqlite`、 `msgstore.db`、または `bugle_db`3 つのファイルをすべてコピーする必要があります (`filename.db`、 `filename.db-wal`、そして `filename.db-shm`) をまったく同じフォルダーにコピーしてから SQLite でデータベースを開くと、WAL トランザクションが自動的にマージされ、最近のメッセージがすべて表示されます。

裁判のために Cellebrite または Oxygen Forensics を使用して自分の携帯電話から削除されたテキストを抽出するためにモバイル フォレンジック ラボを依頼できますか?

はい。ハードドライブのクリーンルームリカバリとは異なり、Cellebrite UFED、Magnet AXIOM、または Oxygen Forensic Detective を使用して、同意を得た自分のスマートフォンのフォレンジック抽出を実行するために、民間の認定デジタル フォレンジック検査官 (asiacis CFCE、GIAC GCFE/GASF、または Cellebrite CCO/CCPA などの認定資格を保有) を雇うことが法的に許可されています。認可されたデジタル フォレンジック検査官は通常、高度な論理またはファイル システムの抽出の実行、削除された SQLite フリーリストと WAL アーティファクトの分割、SHA-256 ハッシュを含む Bates スタンプ付き PDF レポートの生成、法廷でレポートを自己認証する正式な連邦証拠規則 902(14) カストディアン証明書への署名を行うために、デバイスあたり 400 ドルから 1,200 ドルの定額料金を請求します。専門家が直接証言する必要はありません。

ソースを確認しました

  • 米国国立標準技術研究所 (NIST、米国): NIST 特別出版物 800-101 Rev. 1: モバイル デバイス フォレンジックに関するガイドライン (保存、機内モード RF 分離、SQLite データベース アーティファクト、およびハッシュ検証)。
  • 米国行政局裁判所: 連邦証拠規則 (FRE) 規則 106 (残余または関連する文書または記録された陳述)、規則 901(b)(1)、(b)(4)、および (b)(9) (電子証拠の認証)、規則 902(13) および 902(14) (電子証拠を介して電子デバイスからコピーされた認証データ)ハッシュ値)、およびルール 1002(原本の要件)。
  • SQLite コンソーシアム: 先行書き込みログ (WAL モード)、破損したデータベースのファイル形式、フリーリスト ページ、および .recover CLI コマンド。
  • Apple Inc.: Apple プラットフォーム セキュリティ ガイド (データ保護クラス、最初のロック解除前と最初のロック解除後のキー階層、および iTunes/Finder バックアップ マニフェスト構造)。
  • デジタル証拠に関する科学ワーキング グループ (SWGDE): 携帯電話フォレンジックおよび SQLite データベース検査のベスト プラクティス。

関連ガイド