Skip to content

Recuperando mensaxes de proba dun teléfono danado ou da copia de seguridade de chat danada

Os números de emerxencia varían segundo o país. Esta páxina usa 911, o número dos Estados Unidos e Canadá. Moitos outros países usan 112, 999 ou outro número. Busca o número do teu país.

Cando unha demanda civil crítica, unha batalla por custodia dun xulgado de familia, unha audiencia de orde de afastamento, unha queixa de acoso laboral, unha disputa por fraude de contratistas ou unha defensa penal depende de mensaxes de texto, chats de WhatsApp, iMessages ou fíos de sinal atrapados nun teléfono avariado ou nun ficheiro de copia de seguridade danado, un só clic incorrecto pode destruír permanentemente a túa proba legal. As bases de datos de mensaxería modernas non almacenan mensaxes como ficheiros de texto simples; os almacenan dentro de bases de datos SQLite relacionais (sms.db en iOS, mmssms.db / bugle_db en Android, msgstore.db.crypt14 / crypt15 en WhatsApp e bases de datos SQLCipher en Signal) acompañados de Write-Ahead Log temporal (.db-wal) ficheiros xornalísticos.

Se accidentalmente deixas que un novo teléfono sobrescriba a túa única copia de seguridade na nube cunha base de datos baleira ou se abres unha base de datos SQLite danada sen copiar a súa oculta. -wal primeiro arquivo, ou se envía capturas de pantalla recortadas e non autenticadas ás que o avogado contrario se opón como falsas, pode perder tanto os datos como o proceso xudicial.

Esta guía ofrece extracción de chat non destrutiva paso a paso, reparación de bases de datos SQLite, restauración de copias de seguridade criptográficas e protocolos de preservación forense admisibles polos tribunais baseados na publicación especial 800-101 Rev. 1 do Instituto Nacional de Estándares e Tecnoloxía (NIST) (Directrices sobre investigación forense de dispositivos móbiles), Regras Federales de Evidencia (FRE) e Regras Federales de Evidencia (FRE)(1)(4) (Evidencia electrónica de autoautenticación mediante a certificación Hash SHA-256) e especificacións oficiais de recuperación de SQLite/SQLCipher.

Fai isto agora

Se precisas rescatar mensaxes de texto ou chat críticas dun teléfono danado, dun fío eliminado accidentalmente ou dunha copia de seguranza que fallou:

  1. Pon o teléfono en modo avión inmediatamente e desactiva a copia de seguranza automática de iCloud/Google Drive. Esta é a regra número 1 da investigación forense móbil. Por que? Primeiro, cando eliminas unha mensaxe en iMessage (sms.db), WhatsApp (msgstore.db), ou Android Messages, o texto non se borra inmediatamente da unidade flash, atópase dentro da "Páxinas de listas libres/non asignadas" da base de datos SQLite ou dentro do Rexistro de escritura anticipada temporal (.db-wal) ata que a base de datos execute un segundo plano VACUUM limpa ou envía novas mensaxes por riba del. En segundo lugar, se hoxe se eliminou unha mensaxe do teu teléfono, a túa copia de seguranza iCloud das 02:00 a.m. de onte á noite ou a copia de seguranza de WhatsApp de Google Drive aínda contén a mensaxe intacta, ata que a copia de seguranza automática da wifi desta noite a sobrescriba. Ao activar o Modo avión detén a sobreescritura local de SQLite e a sobreescritura da copia de seguranza na nube ao instante. Se estás en perigo físico inmediato por parte dun agresor ou acosador doméstico cuxas mensaxes estás preservando, póñase primeiro en salvo e chame ao número de emerxencia local (911 nos Estados Unidos e Canadá, 112 en toda a Unión Europea, 999 no Reino Unido) ou consulta números de emerxencia.
  2. Nunca instales nin inicies sesión en WhatsApp ou Signal nun teléfono novo e fai clic en "Copia de seguranza agora" antes de restaurar o teu antigo arquivo. Millóns de usuarios perden anos de proba de WhatsApp ao configurar un teléfono de substitución: se omites a solicitude de restauración inicial (ou se a restauración falla nun 99 por cento) e a nova instalación de WhatsApp baleira executa unha copia de seguranza automática en Google Drive ou iCloud mediante unha copia de seguranza histórica de Google Drive ou iCloud**. Copia de seguranza en branco de 0 kilobytes**.
  3. Se a pantalla do teléfono está negra ou rota (o dixitalizador táctil está roto) pero o teléfono segue vibrando ou sonando, NON o reinicies. Tanto en iOS como en Android (Cifrado baseado en ficheiros / Antes do primeiro desbloqueo - BFU vs Despois do primeiro desbloqueo - AFU), sempre que o teléfono se desbloqueou unha vez desde o último reinicio (AFU estado), as claves criptográficas que protexen as bases de datos de mensaxes están descifradas na memoria RAM, o que lle permite conectar un concentrador USB-C/Lightning de $15 cun rato de ordenador USB con cable e un monitor HDMI para facer clic. "Trust This Computer" e faga unha copia de seguridade local completa. Se forzas o reinicio dun teléfono coa pantalla rota, cae dentro BFU estado bloqueado no que nin un rato USB nin un ordenador poden desbloquealo sen arranxar primeiro a pantalla (consulta a nosa guía sobre recuperación do teléfono roto ou danado pola auga).
  4. Cando se copia unha base de datos SQLite en bruto (sms.db ou msgstore.db), copie SEMPRE os tres ficheiros irmáns xuntos (.db, .db-wal, e .db-shm). Toda base de datos de mensaxería móbil moderna execútase en modo SQLite WAL (Write-Ahead Logging). Os teus días ou semanas máis recentes de mensaxes adoitan estar dentro do compañeiro sms.db-wal ou msgstore.db-wal ficheiro, NON dentro do main .db arquivo aínda. Se só copias sms.db e marchar sms.db-wal atrás, as mensaxes máis recentes desaparecen ou a base de datos ábrese como corrupta.
  5. Calcular e rexistrar un hash criptográfico SHA-256 de calquera copia de seguranza ou ficheiro de base de datos exportado inmediatamente. Antes de examinar ou converter calquera ficheiro de copia de seguranza recuperado, executa sha256sum (Linux/macOS) ou Get-FileHash -Algorithm SHA256 (Windows PowerShell) no arquivo orixinal e garda a cadea hash de 64 caracteres. Segundo a Regra Federal de Evidencia 902(14), un valor hash SHA-256 é o estándar de ouro para demostrar ante os tribunais que o teu arquivo de mensaxes dixitais nunca foi alterado ou Photoshop.
flowchart TD
    A["Necesidade urxente de recuperar e conservar mensaxes de proba (SMS, iMessage, WhatsApp, Signal)"] --> B["CONXELACIÓN INMEDIATA: activa o modo avión no teléfono e desactiva a copia de seguranza automática na nube noutros dispositivos"]
    B --> C{"Cal é o estado actual do teléfono e das mensaxes?"}
    C -->|"1. O teléfono funciona, pero as mensaxes foron eliminadas accidentalmente"| D["Comproba se a copia de seguranza na nube (iCloud/Google Drive) ou o cartafol '/Bases de datos' de WhatsApp local ten unha instantánea previa á eliminación"]
    D --> E["Antes de restaurar a través do teléfono en directo: primeiro realice unha copia de seguranza cifrada local completa para PC/Mac (`idevicebackup2`/iTunes/Finder/ADB) para preservar as listas libres de SQLite WAL"]
    C -->|"2. A pantalla do teléfono está rota / negra, pero a placa segue acendida"| F["NON reiniciar (Manter no estado 'Despois do primeiro desbloqueo'); conecte USB-C/Lightning Hub + Mouse USB con cable + Pantalla HDMI para desbloquear e autorizar a copia de seguridade do PC"]
    C -->|"3. O ficheiro de copia de seguranza de chat ou a base de datos SQLite (`sms.db`, `msgstore.db`, Signal) está corrompido/non se pode restaurar"| G["Copie TODOS OS TRES ficheiros (`.db`, `.db-wal`, `.db-shm`) nun directorio de traballo en PC/Mac"]
    G --> H{"Está a base de datos cifrada (`crypt14/crypt15` ou SQLCipher) ou SQLite estándar?"}
    H -->|"WhatsApp/Sinal cifrado"| I["Descifrar usando a clave E2EE de 64 caracteres / `/data/data/com.whatsapp/files/key` (`wa-crypt-tools`) ou a frase de contraseña de 30 díxitos de Signal (`signalbackup-tools`)"]
    H -->|"Descifrado/SQLite estándar"| J["Repare páxinas da árbore B corrompidas usando `sqlite3 .recover` ou gravar rexistros eliminados de cadros Freelist e WAL"]
    E --> K["Autenticar para o tribunal: xerar SHA-256 Hash + PDF completo con CDR do operador + Declaración FRE 902(14)"]
    I --> K
    J --> K

Arquitectura do almacenamento de mensaxes móbiles: onde viven as túas mensaxes

Para recuperar mensaxes borradas ou corrompidas sen destruílas, debes comprender onde cada sistema operativo e plataforma de mensaxería almacena a súa base de datos en directo, as súas claves de cifrado e as súas copias de seguridade locais continuas:

Aplicación de mensaxería/OS Ruta interna do ficheiro da base de datos Arquitectura de cifrado Onde existen copias de seguranza locais ou na nube ocultas
Apple iOS: iMessage e SMS/MMS/RCS /HomeDomain/Library/SMS/sms.db (máis sms.db-wal e sms.db-shm)
Anexos multimedia: /HomeDomain/Library/SMS/Attachments/
(Copia de seguranza local do Finder/iTunes, sms.db sempre se almacena baixo o nome de ficheiro SHA-1 3d0d7e5fb2ce288813306e4d4636395e047a3d28)
Base de datos SQLite 3 estándar (protexida en disco por iOS Data Protection Class C, e cifrada dentro de copias de seguridade locais de PC/Mac se "Encrypt local backup" o contrasinal está activado). 1. Copia de seguridade local de Mac/PC Finder/iTunes (-/Library/Application Support/MobileSync/Backup/ ou %APPDATA%\Apple Computer\MobileSync\Backup\).
2. Copia de seguranza do dispositivo iCloud (se "Messages in iCloud" está DESACTIVADO, instantáneas completas sms.db están dentro da copia de seguridade diaria de iCloud).
3. Cartafol "eliminado recentemente" de iOS dentro da aplicación Mensaxes (Edit -> Show Recently Deleted, mantén os textos eliminados durante 30 a 40 días).
Android: Google Messages (SMS/MMS/RCS) /data/data/com.google.android.apps.messaging/databases/bugle_db (e provedor de telefonía do sistema /data/user_de/0/com.android.providers.telephony/databases/mmssms.db) Base de datos SQLite 3 estándar dentro da partición de credenciais de usuario de Android File-Based Encryption (FBE) respaldada por hardware. Copia de seguranza na nube de Google One/Android (fai unha copia de seguranza automática das mensaxes SMS e MMS/RCS adxuntas á túa conta de Google).
WhatsApp en Android Base de datos interna activa (requírese raíz/clave): /data/data/com.whatsapp/databases/msgstore.db + /data/data/com.whatsapp/files/key
Copias de seguranza locais accesibles polo usuario: /sdcard/Android/media/com.whatsapp/WhatsApp/Databases/msgstore.db.crypt14 (ou .crypt15)
.crypt14: AES-256-GCM cifrado con 158 bytes key ficheiro almacenado en /data/data/com.whatsapp/files/key.
.crypt15: Copia de seguranza cifrada de extremo a extremo protexida pola túa chave de cifrado hexadecimal de 64 díxitos ou contrasinal.
Historial local continuo de 7 días: Todas as noites ás 02:00 AM, WhatsApp en Android garda ata 7 días de ficheiros de copia de seguranza históricos con data directamente no almacenamento interno do teu teléfono (msgstore-YYYY-MM-DD.1.db.crypt14), PLUS a última copia de seguranza en Google Drive.
WhatsApp no iPhone (iOS) /AppDomainGroup-group.net.whatsapp.WhatsApp.shared/ChatStorage.sqlite (máis .sqlite-wal)
(Dentro dunha copia de seguranza de iTunes/Finder, ChatStorage.sqlite está dividido como 7c7fba66680ef796b916b067077cc246adacf01d)
SQLite 3 estándar dentro do contedor do grupo de aplicacións de iOS (accesible en calquera copia de seguranza local de iPhone/PC de Mac/PC sen cifrar ou descifrar con contrasinal). Copia de seguranza de WhatsApp de iCloud Drive ademais de Copia de seguranza local de Mac/PC Finder/iTunes Copia de seguranza completa do dispositivo.
Signal Private Messenger (Android e iOS) Ficheiro de copia de seguranza local de Android: signal-YYYY-MM-DD-HH-MM-SS.backup
Aplicación de escritorio (Windows/Mac/Linux): -/.config/Signal/sql/db.sqlite + config.json (ou chave de almacenamento seguro do chaveiro do sistema operativo)
** Android .backup:** Cifrado coa frase de acceso numérica de 30 díxitos que se mostra cando activaches as copias de seguranza.
Signal Desktop: Cifrado mediante SQLCipher 4; a clave de descifrado almacénase no seu interior config.json / Chaveiro do sistema operativo no teu portátil.
Critical Forensic Bypass: aínda que se rompa ou se perda un teléfono Signal (e iOS Signal non ofrece copias de seguranza na nube), se algunha vez vinculaches "Signal Desktop" no teu portátil con Windows, Mac ou Linux, o teu historial completo de mensaxes descifradas atópase localmente dentro do portátil. -/.config/Signal/sql/db.sqlite base de datos.

Escenario 1: Recuperar mensaxes de iPhone borradas ou danadas (sms.db & ChatStorage.sqlite)

Se se eliminaron mensaxes iMessages, textos SMS ou WhatsApp críticos nun iPhone, ou se o iPhone está danado, siga estes pasos exactos en orde de prioridade:

Paso 1: comproba a bóveda integrada de iOS "Eliminado recentemente" (primeiros 30 a 40 días)

En iOS 16, iOS 17, iOS 18 e máis recentes, a eliminación dun fío de texto ou de iMessage non o move inmediatamente ao espazo da lista libre de SQLite en bruto; móveso a un cartafol do lixo oculto durante 30 días (ata 40 días antes da purga permanente): 1. Abre a aplicación Mensaxes no iPhone. 2. Toca Editar (ou Filtros) na esquina superior esquerda. 3. Toca Mostrar eliminados recentemente. 4. Selecciona a conversa e toca Recuperar.

Paso 2: Extraer sms.db e ChatStorage.sqlite desde unha copia de seguridade local de Mac/Windows sen sobrescribir nada

Se a mensaxe se eliminou permanentemente de "Eliminado recentemente" (ou se precisa extraer mensaxes para corte ou esculpir filas SQLite eliminadas), cree unha copia de seguranza local completa nun ordenador inmediatamente mentres o teléfono aínda estea en modo avión:

  1. Conecte o iPhone mediante un cable USB a un Mac (Finder) ou PC con Windows (Dispositivos Apple/iTunes) ou Linux (libimobiledevice):
  2. Marque a caixa de "Cifrar copia de seguranza local" e configure un contrasinal sinxelo que non esquecerás (como Evidence1234). (Por que activar o cifrado de copia de seguranza? Unha copia de seguranza local cifrada de iOS inclúe artefactos forenses adicionais, datos de saúde, historial de chamadas e elementos de chaveiro que Apple elimina das copias de seguranza sen cifrar).
  3. Fai clic en Fai unha copia de seguranza agora e agarda a que remate.
  4. Busca o cartafol de copia de seguranza sen procesar no teu ordenador:
  5. macOS: -/Library/Application Support/MobileSync/Backup/<UDID>/
  6. Windows: %APPDATA%\Apple Computer\MobileSync\Backup\<UDID>\ ou %USERPROFILE%\Apple\MobileSync\Backup\<UDID>\
  7. Copia todo <UDID> cartafol nunha unidade externa separada inmediatamente e calcula o seu hash SHA-256 para que a túa instantánea forense orixinal nunca se poida alterar.
  8. Localiza as bases de datos de mensaxes exactas dentro da copia de seguranza de iOS usando os hash de dominio SHA-1 de Apple:
  9. Apple cambia o nome de todos os ficheiros dentro dunha copia de seguranza de iOS ao hash SHA-1 Domain-RelativePath, ordenados en subdirectorios de dous caracteres:
    • ** Base de datos de SMS / iMessage de Apple (HomeDomain-Library/SMS/sms.db):** Situado no subcartafol 3d/ -> ficheiro 3d0d7e5fb2ce288813306e4d4636395e047a3d28
    • Base de datos WhatsApp iOS (AppDomainGroup-group.net.whatsapp.WhatsApp.shared-ChatStorage.sqlite): Situado no subcartafol 7c/ -> ficheiro 7c7fba66680ef796b916b067077cc246adacf01d
    • ** Índice de ficheiros de copia de seguranza (Manifest.db):** Un índice SQLite mestre que asigna cada foto, nota de voz e hash de anexos ao seu nome de ficheiro real en SMS/Attachments/.
  10. (Se habilitou o cifrado da copia de seguranza, descifra unha copia de traballo da copia de seguranza nun cartafol lexible usando ferramentas de código aberto como iphone-backup-decrypt en Python ou espectadores locais reputados como iMazing ou iBackup Viewer).

Escenario 2: recuperación de Android WhatsApp .crypt14 / .crypt15 e Sinal .backup arquivos

1. Rescatar unha copia de seguridade de WhatsApp máis antiga antes de que caduque a xanela continua de 7 días

E se hai 3 días alguén eliminou unha conversa incriminatoria de WhatsApp no teu teléfono Android e a copia de seguranza de Google Drive das 02:00 da noite de onte xa sobrescribiu a copia na nube? - Conecta o teu teléfono Android a un ordenador a través de USB (no modo Transferencia de ficheiros/MTP) ou abre a aplicación Fiches de Android e desprázate ata:

Internal Storage/Android/media/com.whatsapp/WhatsApp/Databases/
(ou en versións anteriores de Android: Internal Storage/WhatsApp/Databases/). - Dentro dese cartafol, verás ata 7 ficheiros separados: - msgstore.db.crypt14 (Copia de seguranza de onte á noite, faltan as mensaxes eliminadas) - msgstore-2026-10-30.1.db.crypt14 (Copia de seguridade de onte) - msgstore-2026-10-28.1.db.crypt14 (A copia de seguranza de hai 3 días, ANTES de eliminar as mensaxes) - Como restaurar a copia de seguranza de 3 días no teu teléfono de forma segura: 1. Copia todo Databases/ e Media/ primeiro no teu ordenador para que non se perda nada. 2. Cambia o nome da actual msgstore.db.crypt14 a msgstore-CURRENT-NEW.db.crypt14.bak. 3. Cambia o nome do ficheiro anterior á eliminación anterior msgstore-2026-10-28.1.db.crypt14 ao nome de ficheiro activo exacto msgstore.db.crypt14. 4. Activa o Modo avión (ou revoga temporalmente o permiso de Google Drive de WhatsApp para que WhatsApp non faga a copia de seguranza da nube máis recente), desinstala e reinstala WhatsApp, verifica o teu número e cando WhatsApp detecte o local. msgstore.db.crypt14 ficheiro, toca Restaurar. Todas as mensaxes de hai 3 días volverán aparecer intactas.

2. Descifrado corrompido .crypt14 / .crypt15 Copia de seguranza de WhatsApp nun ordenador (wa-crypt-tools)

E se o ficheiro de copia de seguridade de WhatsApp falla nun 95 por cento durante a restauración do teléfono porque a base de datos SQLite dentro do envoltorio cifrado está lixeiramente corrompida? Podes descifrar o .crypt14 ou .crypt15 directamente no teu ordenador, repara a base de datos SQLite e le cada mensaxe: - Se tes un .crypt15 Copia de seguranza cifrada de extremo a extremo e gardou a súa chave hexadecimal de 64 díxitos (ou se extraeu /data/data/com.whatsapp/files/key ou encrypted_backup.key), instale a ferramenta forense de código aberto 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
- Unha vez wadecrypt produce o cru msgstore.db SQLite, podes reparar calquera páxina da árbore B danada usando o SQLite oficial .recover motor na Sección 3 a continuación.

3. Extraer e reparar un sinal danado .backup ou base de datos Signal Desktop

  • Para Android signal-YYYY-MM-DD.backup ficheiros: Se un teléfono novo se nega a importar un ficheiro de copia de seguranza de Signal grande (ou se o ficheiro foi truncado ao copiar unha tarxeta SD en vías de extinción), use a ferramenta forense de código aberto signalbackup-tools (github.com/bepaald/signalbackup-tools) coa túa frase de contrasinal numérica de copia de seguridade de 30 díxitos para desempaquetar os fotogramas non danados, exportar a base de datos SQLite sen procesar e xerar un arquivo de conversas HTML limpo e en que se pode buscar con todos os anexos multimedia intactos:
    # 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/
    
  • Para Signal Desktop (-/.config/Signal/sql/db.sqlite): Aínda que o teu teléfono intelixente fose esmagado nun accidente de tráfico ou arroxado a un lago e non tes ningunha copia de seguridade do teléfono, se o teu portátil tivo algunha vez Signal Desktop ligado, copia todo o directorio da aplicación Signal (%APPDATA%\Signal en Windows, -/Library/Application Support/Signal en macOS ou -/.config/Signal en Linux) antes de abrir a aplicación e exportar a base de datos SQLCipher usando signalbackup-tools ou sqlcipher.

Escenario 3: Reparación dunha base de datos de chat SQLite danada (database disk image is malformed) e tallando filas eliminadas

Cando un teléfono perde a batería durante a escritura ou sofre erros de almacenamento flash, ábrese sms.db, ChatStorage.sqlite, ou msgstore.db lanza o erro fatal de SQLite: Error: database disk image is malformed (SQLITE_CORRUPT)

Nunca execute un shareware destrutivo de terceiros "fixador de SQLite de pago" na súa base de datos orixinal. Use o SQLite oficial .recover comando integrado directamente en sqlite3 (versión 3.29.0+), que explora as páxinas de base de datos de 4 kilobytes unha por unha evitando os punteiros de índice de árbore B rotos:

SQLite paso a paso .recover e reparación do punto de control de WAL

  1. Fai unha copia de traballo dos tres ficheiros de base de datos (.db, .db-wal, .db-shm) nun novo cartafol:
    mkdir ~/chat_rescue && cp sms.db* ~/chat_rescue/ && cd ~/chat_rescue/
    
  2. Executa o SQLite oficial .recover comando para reconstruír unha base de datos limpa (e capturar filas perdidas/listas libres):
    # 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. Exporta unha transcrición CSV/HTML cronolóxica e lexible por humanos desde a base de datos reparada:
  4. Para Apple iOS sms.db (Convertendo a marca de tempo de nanosegundos CoreData de Apple desde o 1 de xaneiro de 2001 a UTC/Data local):
    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. Para WhatsApp Android msgstore.db (Moderno message esquema de táboa):
    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
    

Facer que as túas mensaxes recuperadas sexan 100 % admisibles no xulgado (evitando a obxección de "Captura de pantalla falsa")

Todas as semanas nos xulgados de familia, xudiciais de pequenas demandas, audiencias de ordes de afastamento e litixios civís, a xente achégase ao xuíz con capturas de pantalla soltas e recortadas de teléfonos intelixentes onde a cabeceira superior do contacto só di un alcume como "Ex-Husband" ou "Landlord Mike" sen número de teléfono e sen datas completas. Os avogados opositores obxeten inmediatamente baixo a Regra Federal de Evidencia 901 (falta de autenticación) e a Regra 106 (Regra de integridade), argumentando que calquera pode cambiar o nome dun segundo teléfono prepago. "Landlord Mike" na súa aplicación de contactos e envían mensaxes falsas en 30 segundos.

Warning

Como facer que o teu texto e probas de chat sexan a proba de balas contra os desafíos de fabricación da sala: Siga estes cinco pasos de autenticación forense antes de imprimir as súas exposicións para o xuíz:

Lista de verificación de autenticación de sala de tribunal de 5 puntos para probas de texto e chat

  1. Elimine ou cambie o nome temporalmente do alcume do contacto antes de exportar/captura de pantalla para que o número de teléfono bruto (+1-555-019-2834) ou o correo electrónico aparece en cada cabeceira:
  2. Antes de facer capturas de pantalla de copia de seguridade (ou mellor aínda, use unha ferramenta de exportación de PDF completa como iMazing, Decipher TextMessage, ou a consulta CSV de SQLite anterior que imprime tanto o nome para mostrar como o raw handle.id número de teléfono en cada burbulla de mensaxe), asegúrate de que o número de teléfono real de 10 díxitos ou o correo electrónico da ID de Apple do remitente estea visible na parte superior do fío, non só un alcume de contacto personalizable.
  3. Puxe os teus rexistros oficiais de detalles de chamadas do teu operador móbil (CDR) e rexistros de marca de tempo de SMS/MMS como corroboración independente de terceiros:
  4. Aínda que o teu operador de telefonía móbil (AT&T, Verizon, T-Mobile, EE, Vodafone, Rogers, Telstra) non garda o contido de texto das mensaxes SMS por moito tempo (e nunca ve contido cifrado de iMessage/WhatsApp), o teu extracto mensual do teu operador ou o portal da conta en liña proporciona un rexistro independente de terceiros da data exacta, minuto, dirección de cada mensaxe de voz/sms/número de teléfono/SMS entrante. chamar.
  5. Achegar o teu Registro de uso de AT&T/Verizon/T-Mobile xusto detrás da impresión da túa mensaxe de texto demostra que o número de teléfono da outra parte realmente transmitiu unha SMS ao teu teléfono en 14:22:09 on October 12, destruíndo calquera afirmación de que falsificaches a captura de pantalla.
  6. Exportar TODO o fío de conversa sen editar (Regra de integridade - FRE Regra 106):
  7. Nunca elixes capturas de pantalla illadas nin recortes as túas propias respostas. Segundo a Regra Federal de Evidencia 106, se ofreces parte dunha conversa gravada, a parte contraria pode esixir todo o fío circundante e os xuíces desconfían das imaxes recortadas que omiten marcas de tempo ou mensaxes anteriores. Imprime o fluxo cronolóxico completo da conversa.
  8. Conserva o dispositivo orixinal E o ficheiro de copia de seguranza con hash SHA-256 (regra de mellor evidencia: regra FRE 1002 e autoautenticación: regra FRE 902(14)):
  9. Traia o teléfono físico real (cargado e desbloqueado) contigo á mesa da audiencia para que, se o avogado contrario impugna a copia impresa, poida dicirlle ao xuíz: "Señora Señora, teño o dispositivo orixinal aquí mesmo na mesa dos avogados para a inspección do Tribunal de conformidade coa Regra da Mellor Evidencia."
  10. Ademais, segundo a Regra Federal de Evidencia 902(14) (e os equivalentes estatais adoptados en EE. UU.), os datos copiados dun dispositivo electrónico son de autoautenticación cando van acompañados dunha certificación escrita que establece o valor hash dixital SHA-256 da extracción orixinal e da copia.
  11. Achegue unha "Declaración de autenticación de mensaxes electrónicas de texto/chat" asinada (modelo copiar e pegar a continuación):
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]

Preguntas frecuentes

O meu operador de telefonía móbil (AT&T, Verizon, T-Mobile, Vodafone) pode darme unha impresión do contido da miña mensaxe de texto eliminada se chamo ao servizo de atención ao cliente?

Non, non a través do servizo de atención ao cliente normal, e normalmente non para o contido da mensaxe. En primeiro lugar, os operadores NUNCA teñen acceso ao contido de iMessages, mensaxes de WhatsApp, mensaxes de sinal ou chats RCS cifrados de extremo a extremo porque estes pasan por Internet en forma cifrada, non a través dos servidores de SMS do operador. En segundo lugar, mesmo para as mensaxes de texto SMS tradicionais de burbulla verde, os principais operadores só almacenan o corpo do texto real nos seus servidores de conmutación de mensaxes durante 3 a 7 días (Verizon mantén o contido SMS durante uns 3 ou 5 días; AT&T e T-Mobile descartan o contido do corpo da mensaxe SMS case inmediatamente despois da entrega ou dentro de 72 horas), e SÓ liberarán o contido de texto almacenado en búfer para responder a unha orde xudicial ou válida do cliente en resposta a unha orde xudicial ou a procura de contido válido do cliente. o teléfono. É por iso que recupera as mensaxes eliminadas directamente da base de datos SQLite do teu teléfono (`sms.db` / `bugle_db`) ou a túa copia de seguridade de iCloud/Google Drive é case sempre o teu único camiño para recuperar as palabras reais.

Que pasa se a outra persoa en WhatsApp, Signal ou iMessage usa "Eliminar para todos" ou "Mensaxes que desaparecen" para borrar as súas ameazas?

Cando un remitente toca "Eliminar para todos" (ou "Desenviar" en iOS iMessage) mentres o teu teléfono está conectado a Internet, a aplicación recibe un comando de eliminación remota que elimina a mensaxe da túa pantalla visible. Non obstante, tres métodos de recuperación forense aínda poden capturalo: (1) Se pon o teléfono en modo avión ANTES de que o remitente prema "Eliminar para todos", o comando de eliminación remota non pode chegar ao seu teléfono ata que fotografe e faga unha copia de seguridade da pantalla; (2) En teléfonos Android con "Historial de notificacións" activado (`Settings -> Notifications -> Advanced settings -> Notification history`), o sistema operativo Android rexistra o texto completo exacto de cada banner de notificación de WhatsApp, sinal e SMS entrantes durante 24 horas, e "Eliminar para todos" NON PODE borrar o rexistro do historial de notificacións do sistema Android; e (3) Tanto en iOS como en Android, unha fila eliminada a miúdo deixa fragmentos de texto residuais dentro do SQLite sen aspirar `.db-wal` Ficheiro de rexistro de escritura anticipada se imaxina o teléfono inmediatamente no modo avión.

Por que o meu exportar `sms.db` ou `msgstore.db` perdeu a base de datos os últimos 3 días de mensaxes cando a abrín no navegador DB para SQLite?

Porque só copiaches o `.db` arquivo e deixou atrás o `.db-wal` (Write-Ahead Log) no directorio de orixe. As bases de datos modernas de iOS e Android usan o modo SQLite WAL, onde todas as mensaxes enviadas e recibidas se engaden ao complemento. `.db-wal` primeiro ficheiro e só se fusionan ("punto de verificación") co principal `.db` arquivo periodicamente. Sempre que extraes `sms.db`, `ChatStorage.sqlite`, `msgstore.db`, ou `bugle_db`, DEBE copiar os tres ficheiros (`filename.db`, `filename.db-wal`, e `filename.db-shm`) no mesmo cartafol antes de abrir a base de datos en SQLite, que fusionará automaticamente as transaccións de WAL e mostrará todas as mensaxes recentes.

Podo conseguir un laboratorio forense móbil para extraer textos eliminados do meu propio teléfono usando Cellebrite ou Oxygen Forensics para un caso xudicial?

Si. A diferenza da recuperación da sala limpa do disco duro, está legalmente autorizado a contratar un examinador forense dixital certificado (que posúa certificacións como asiacis CFCE, GIAC GCFE/GASF ou Cellebrite CCO/CCPA) para realizar unha extracción forense consentida do seu propio teléfono intelixente mediante Cellebrite UFED, Magnet AXIOM ou o detective Magnet. Un examinador forense dixital con licenza adoita cobrar unha tarifa plana de 400 a 1.200 dólares por dispositivo para realizar unha extracción avanzada de sistemas lóxicos ou de ficheiros, gravar listas libres de SQLite e artefactos WAL eliminados, xerar un informe PDF con selo de Bates con hashes SHA-256 e asinar unha Regra Federal de Evidencia formal que acredite o informe 902. no xulgado sen necesidade de que o perito declare persoalmente.

Fontes comprobadas

  • National Institute of Standards and Technology (NIST, Estados Unidos): NIST Special Publication 800-101 Rev. 1: Guidelines on Mobile Device Forensics (Preservation, Airplane Mode RF Isolation, SQLite Database Artifacts, and Hash Verification).
  • Oficina Administrativa dos Tribunais dos Estados Unidos: Regra 106 das Regras Federales de Evidencia (FRE) (Resta de escritos ou declaracións rexistradas relacionados), Regra 901(b)(1), (b)(4) e (b)(9) (Autenticación de probas electrónicas), Regla 902(13) e 902(13) e 902 de datos electrónicos certificados (14) Valor) e a Regra 1002 (Requisito do orixinal).
  • Consorcio SQLite: Documentación oficial de SQLite sobre rexistro de escritura anticipada (modo WAL), formato de ficheiro de bases de datos corruptas, páxinas de listas libres e .recover Comando CLI.
  • Apple Inc.: Guía de seguranza da plataforma de Apple (Clases de protección de datos, Xerarquía de claves Antes do primeiro desbloqueo e despois do primeiro desbloqueo e Estrutura do manifesto de copia de seguranza de iTunes/Finder).
  • Grupo de traballo científico sobre evidencia dixital (SWGDE): Best Practices for Mobile Phone Forensics and SQLite Database Examination.

Guías relacionadas