Cómo consultar datos de archivos de copia de seguridad de SQLite y Plist de iPhone
Es posible que algunos usuarios deseen manipular directamente los archivos sin procesar almacenados en sus copias de seguridad utilizando el modo experto. Estos a menudo están compuestos por .sqlite3
de base de datos SQLite ( .sqlite3
, .sqllitedb
y .db
) o Plist (generalmente .plist
).
iPhone Backup Extractor incluye un editor Plist incorporado, y sus usuarios pueden exportar automáticamente sus datos a formatos PDF, HTML, VCard, ICAL, VCF o CSV para un fácil acceso. Sin embargo, los usuarios que deseen extraer datos de estos archivos necesitarán un cliente de base de datos SQLite.
¿Cómo puedo trabajar con bases de datos SQLite?
Los usuarios pueden querer probar cualquiera de estas tres aplicaciones:
- SQLiteFlow (pago, macOS e iOS). SQLiteFlow es nuestra herramienta de macite SQLite de elección.
- Base 2 (pago, macOS). Base es una de nuestras segundas herramientas SQLite favoritas para macOS, y está disponible como descarga directa y aplicación App Store .
- DB Browser para SQLite (gratis, macOS y Windows). DB Browser solía llamarse SQLite Database Browser. Es nuestra herramienta recomendada para Windows, y es gratis. También proporcionan una versión para macOS.
¿Cómo puedo trabajar directamente con los archivos de la base de datos de Apple?
Como ejemplo, para acceder manualmente a los datos de contacto, los usuarios deben extraer Libray/AddressBook/AddressBook.sqllitedb
y luego abrir el archivo extraído con un visor de SQLite. Al elegir la pestaña "Ejecutar SQL", pégala en el campo "Cadena SQL":
SELECT ABPerson.first, ABPerson.last, ABMultiValue.value FROM ABPerson, ABMultiValue WHERE ABMultiValue.record_id = ABPerson.ROWID
Al presionar el botón Execute Query
debería devolver la lista de contactos completa que se muestra en el campo "Datos devueltos".
Para acceder a los datos de SMS, los usuarios deben extraer Libray/SMS/SMS.db
, abrir el archivo extraído con el visor de SQLite, elegir la pestaña Browse data
y luego seleccionar el message
del menú desplegable Table
. Al hacer clic en el botón de la lupa, los usuarios deberían ver su historial de SMS completo en el campo "Datos devueltos".
Uno de nuestros usuarios encontró útil la siguiente consulta, por lo que la incluimos aquí para nuestros usuarios. Tenga en cuenta que los formatos de base de datos cambian entre las versiones de iOS, por lo que estas consultas a menudo deben cambiar 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 una lista de archivos clave para varias aplicaciones aquí.
Los campos de fecha y hora simplemente vuelven como números, ¿cómo puedo interpretarlos?
Puede ser difícil interpretar una serie de campos en las bases de datos. No lo olvides, iPhone Backup Extractor puede extraer los datos automáticamente por ti. Sin embargo, si lo hace solo, debe encontrar que las fechas se representan como el número de segundos desde 2001-01-01
o 1970-01-01
, dependiendo de la posición del campo de fecha. En Excel, puede usar una fórmula como =1/1/2001 + A1/60/60/24
donde A1
es su información de tiempo. Es posible que también deba ajustar el valor para tener en cuenta su zona horaria local.
por Andrew
You can use this to format the messages (SMS) date field: