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.
¿Puedo fiarme de esta información?
Reincubate no está afiliada a ninguno de estos productos y no recibe ninguna compensación por mencionarlos.
¿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.
