Glossaire
Core Data
Core Data est le framework de persistance d'Apple. Il explique le préfixe Z des tables et colonnes de knowledgeC.db : ZOBJECT, Z_PK, Z_ENT et Z_OPT.
Core Data est le framework d'Apple qui stocke le modèle objet d'une application, souvent dans un fichier SQLite. Lorsqu'il écrit en SQLite, il génère les tables et les colonnes à partir du modèle et préfixe leurs noms par Z. C'est pourquoi knowledgeC.db contient des tables comme ZOBJECT, ZSOURCE et ZSTRUCTUREDMETADATA, et des colonnes comme ZSTREAMNAME ou ZSTARTDATE.
Core Data ajoute aussi des colonnes de gestion. Z_PK est la clé primaire de la ligne, référencée par d'autres tables : ZOBJECT.ZSOURCE pointe vers ZSOURCE.Z_PK. Z_ENT identifie l'entité (le type d'objet) à laquelle la ligne appartient, et Z_OPT est un compteur que Core Data tient pour son propre suivi des modifications. Aucune des deux ne contient de données d'événement.
Conséquence pratique pour l'analyste : le schéma suit le modèle d'Apple, donc des colonnes peuvent apparaître, disparaître ou changer d'une version de macOS à l'autre. Lancez .schema avant de faire confiance à une requête toute faite. Voir ZOBJECT et le guide d'analyse forensique de knowledgeC.db.