Saltar al contenido principal

Cómo consultar datos de los archivos SQLite y Plist de una copia de seguridad del iPhone

Aidan Fitzpatrick

Publicado el 8 de marzo de 2018· Actualizado el 5 de enero de 2021

Cover image for: Cómo consultar datos de los archivos SQLite y Plist de una copia de seguridad del iPhone

Algunos usuarios pueden querer manipular directamente los archivos sin procesar almacenados en sus copias de seguridad mediante el modo experto. Suelen ser bases de datos SQLite (.sqlite3, .sqllitedb y .db) o archivos Plist (normalmente .plist).

iPhone Backup Extractor incluye un editor de Plist integrado y sus usuarios pueden exportar automáticamente sus datos a los formatos PDF, HTML, VCard, ICAL, VCF o CSV para acceder a ellos fácilmente. Sin embargo, quienes quieran extraer datos de estos archivos necesitarán un cliente de bases de datos SQLite.

¿Cómo puedo trabajar con bases de datos SQLite?

Puedes probar cualquiera de estas tres aplicaciones:

  • SQLiteFlow (de pago, macOS e iOS). SQLiteFlow es nuestra herramienta SQLite preferida para macOS.
  • Base 2 (de pago, macOS). Base es una de nuestras segundas herramientas SQLite favoritas para macOS y está disponible como descarga directa y como app de la App Store.
  • DB Browser for SQLite (gratuita, macOS y Windows). DB Browser se llamaba antes SQLite Database Browser. Es la herramienta que recomendamos para Windows y es gratuita. También ofrecen una versión para macOS.

¿Cómo puedo trabajar directamente con los archivos de base de datos de Apple?

Por ejemplo, para acceder manualmente a los datos de contactos, extrae Libray/AddressBook/AddressBook.sqllitedb y abre el archivo extraído con un visor de SQLite. Elige la pestaña «Execute SQL» y pega lo siguiente en el campo «SQL string»:

SELECT ABPerson.first, ABPerson.last, ABMultiValue.value
FROM ABPerson, ABMultiValue
WHERE ABMultiValue.record_id = ABPerson.ROWID

Al pulsar el botón Execute Query, debería aparecer la lista completa de contactos en el campo «Data returned».

Para acceder a los datos de los SMS, extrae Libray/SMS/SMS.db, abre el archivo extraído con el visor de SQLite, elige la pestaña Browse data y selecciona message en el menú desplegable Table. Al hacer clic en el botón de la lupa, deberías ver el historial completo de SMS en el campo «Data returned».

Uno de nuestros usuarios encontró útil la consulta siguiente, así que la incluimos aquí para nuestros usuarios. Ten en cuenta que los formatos de las bases de datos cambian entre versiones de iOS, por lo que estas consultas suelen tener que modificarse con el tiempo.

SELECT ROWID,
  ABPerson.first,
  ABPerson.last,
  ABPerson.Organization AS organization,
  ABPerson.Department AS department,
  DATETIME(ABPerson.Birthday + STRFTIME('%s', '2001-01-01 00:00:00'), 'unixepoch', 'localtime') AS Birthday,
  ABPerson.JobTitle as jobtitle,
  ABPerson.Organization,
  ABPerson.Department,
  ABPerson.Note,
  ABPerson.Nickname,
  DATETIME(ABPerson.CreationDate + STRFTIME('%s', '2001-01-01 00:00:00'), 'unixepoch', 'localtime') AS Created,
  DATETIME(ABPerson.ModificationDate + STRFTIME('%s', '2001-01-01 00:00:00'), 'unixepoch', 'localtime') AS Modified,
  ( SELECT value FROM ABMultiValue
    WHERE property = 3 AND record_id = ABPerson.ROWID AND label = (
      SELECT ROWID FROM ABMultiValueLabel
      WHERE value = '_$!<Work>!$_'
    )
  ) AS phone_work,
  ( SELECT value FROM ABMultiValue
    WHERE property = 3 AND record_id = ABPerson.ROWID AND label = (
      SELECT ROWID FROM ABMultiValueLabel
      WHERE value = '_$!<Mobile>!$_'
    )
  ) AS phone_mobile,
  ( SELECT value FROM ABMultiValue
    WHERE property = 3 AND record_id = ABPerson.ROWID AND label = (
      SELECT ROWID FROM ABMultiValueLabel
      WHERE value = '_$!<Home>!$_'
    )
  ) AS phone_home,
  ( SELECT value FROM ABMultiValue
    WHERE property = 4 AND record_id = ABPerson.ROWID AND label IS null
  ) AS email,
  ( SELECT value FROM ABMultiValueEntry
    WHERE parent_id IN (
      SELECT ROWID FROM ABMultiValue WHERE record_id = ABPerson.ROWID
    ) AND key = (
      SELECT ROWID FROM ABMultiValueEntryKey WHERE lower(value) = 'street'
    )
  ) AS address,
  ( SELECT value FROM ABMultiValueEntry
    WHERE parent_id IN (
      SELECT ROWID FROM ABMultiValue WHERE record_id = ABPerson.ROWID
    ) AND key = (
      SELECT ROWID FROM ABMultiValueEntryKey WHERE lower(value) = 'city'
    )
  ) AS city
FROM ABPerson
ORDER BY ABPerson.first

Mantenemos aquí una lista de archivos clave de varias apps.

Los campos de fecha y hora aparecen como números. ¿Cómo puedo interpretarlos?

Puede que te cueste interpretar algunos campos de las bases de datos. Recuerda que iPhone Backup Extractor puede extraer los datos automáticamente por ti. Sin embargo, si lo haces por tu cuenta, verás que las fechas se representan como el número de segundos transcurridos desde 2001-01-01 o 1970-01-01, según la posición del campo de fecha. En Excel, puedes usar una fórmula como =1/1/2001 + A1/60/60/24, donde A1 son tus datos de hora. Quizá también tengas que ajustar el valor para tener en cuenta tu zona horaria local.


Sobre el autor

Aidan Fitzpatrick

Fundador, CEO

Aidan fundó Reincubate en 2008 después de crear la primera herramienta de recuperación de datos de iOS del mundo. Desde entonces, ha convertido la empresa en uno de los principales ISV del mundo, colaborando con compañías como AMD, Qualcomm y HP para impulsar funciones de aprendizaje automático relevantes para software de video, encabezadas por el ecosistema de aplicaciones Camo. Bajo el liderazgo de Aidan, Reincubate ha ganado en cuatro ocasiones el galardón empresarial más importante del Reino Unido, se ha ganado un lugar en la lista 100 Tech de The Sunday Times y ha obtenido reconocimiento del sector con nominaciones al Apple Design Award y al App Store. Su trabajo y sus técnicas se citan con frecuencia en artículos académicos sobre informática forense móvil, y ha sido invitado a hablar en eventos organizados por empresas como Google, Microsoft y Snap.


Artículos relacionados

¿Necesitas ayuda?

Intentamos responder a todos los mensajes en un día laborable.

support@reincubate.com
Logotipo del King's Award for Enterprise

King's Award for Enterprise: Reincubate ha ganado cuatro veces el máximo honor empresarial oficial del Reino Unido, la más reciente en reconocimiento al destacado crecimiento de la empresa durante los últimos tres años.

Nuestras relaciones con usuarios y socios son el núcleo de nuestros valores y de los productos que creamos. Consulta nuestras reseñas para saber lo que opinan de nosotros.

Certificación ISO 27001 del Centre for Assessment, acreditada por UKAS

© 2008-2026 Reincubate Ltd. Todos los derechos reservados. Registrada en Inglaterra y Gales con el n.º 5189175, IVA GB151788978. Camo®, Streamlight® y Reincubate® son marcas registradas. Patentes en trámite.

Ayuda