Cómo recuperar mensajes de texto antiguos (antes de sincronizar) en iPhone - forense

Introducción

Los SMS/iMessage borrados o antiguos no accesibles desde la app Mensajes pueden recuperarse de los backups locales (iTunes/Finder) accediendo a la base de datos SQLite interna. Requiere conocimientos técnicos y herramientas de terceros. No hay forma oficial en la app Mensajes ni en iTunes de "ver mensajes borrados".

⚠️ Advertencias legales y éticas

  • Acceder a backups de otro usuario sin consentimiento es ilegal en la mayoría de jurisdicciones.
  • Este método es para tu propio dispositivo y tus propios backups.
  • Manipular archivos de backup puede corromperlos. Haz copia del backup antes de tocar nada.

Requisitos

  • Backup local del iPhone en PC/Mac (hecho con iTunes/Finder, no encriptado o conoces la contraseña).
  • Herramienta visor SQLite: DB Browser for SQLite (gratis, open source, Win/Mac/Linux), SQLiteBrowser, SQLPro for SQLite, o scripts Python.

Pasos

  1. Localiza la carpeta de backups:
    • macOS: ~/Library/Application Support/MobileSync/Backup/ (Cmd+Shift+G en Finder).
    • Windows: \Users\TU_USUARIO\AppData\Roaming\Apple Computer\MobileSync\Backup\ (Win+R → pegar ruta).
  2. Identifica el backup correcto: Carpetas con nombres largos (UDID del dispositivo). Ordena por fecha modificada; el más reciente es tu último backup.
  3. Busca el archivo de base de datos de SMS: Archivo llamado 3d0d7e5fb2ce288813306e4d4636395e047a3d28 (sin extensión o .mddata/.mdbackup). Es el hash SHA1 de "HomeDomain/Library/SMS/sms.db".
  4. Copia ese archivo a tu Escritorio (no trabajes sobre el original).
  5. Ábrelo con tu visor SQLite.
  6. Ejecuta consulta para ver mensajes legibles:
    SELECT 
      datetime(date/1000000000 + 978307200, 'unixepoch', 'localtime') as Fecha,
      address as Remitente,
      text as Mensaje,
      is_from_me as YoEnvié,
      service as Servicio
    FROM message
    ORDER BY date DESC;
  7. Exporta a CSV/Excel desde el visor para análisis cómodo.

Estructura clave de la tabla message

  • ROWID: ID único.
  • address: Número/email del otro (vacío si eres tú).
  • text: Cuerpo del mensaje (NULL si es solo adjunto).
  • date: Timestamp en nanosegundos desde 2001-01-01 (Mac absolute time).
  • is_from_me: 1 = tú enviaste, 0 = recibiste.
  • service: "iMessage", "SMS", "MMS".
  • cache_has_attachments: 1 = tiene adjunto (foto, vídeo, audio).

Adjuntos (fotos/vídeos en mensajes)

  • Están en tabla attachment (campo filename = ruta relativa en backup).
  • Relación: message.ROWID → message_attachment_join.message_id → attachment.ROWID.
  • Los archivos reales están en carpetas MediaDomain del backup (nombres hash).

Herramientas gráficas "todo en uno" (más fáciles)

  • iMazing (pago, trial gratis): Explora backups, exporta mensajes a PDF/CSV/HTML, ve adjuntos. Muy recomendable.
  • iBackup Viewer (gratis/pago): Similar, gratis funcional.
  • PhoneView (Mac, pago): Acceso directo al iPhone montado como disco (requiere AFC2 / jailbreak para acceso completo).

Nota sobre backups encriptados

Si el backup tiene contraseña, el archivo 3d0d... estará encriptado. Necesitas la contraseña para descifrar el backup completo (iMazing lo pide al abrir). Sin contraseña, imposible recuperar (AES-256).