Extraction des données d’un Iphone sous Mac

Traitement avec PHPMyAdmin

Dans PHPMyAdmin, il est nécessaire de créer 3 tables qui vont accueillir les données issues de l’Iphone.

Cliquez simplement sur l’onglet SQL dans votre base de données et collez le code SQL ci-dessous qui effectuera la création des tables pour vous.

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

CREATE TABLE `ABMultiValue` (
  `UID` int(11) NOT NULL,
  `record_id` int(11) DEFAULT NULL,
  `property` int(11) DEFAULT NULL,
  `identifier` int(11) DEFAULT NULL,
  `label` int(11) DEFAULT NULL,
  `value` text,
  PRIMARY KEY  (`UID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE `ABPerson` (
  `ROWID` int(11) NOT NULL,
  `First` text,
  `Last` text,
  `Middle` text,
  `FirstPhonetic` text,
  `MiddlePhonetic` text,
  `LastPhonetic` text,
  `Organization` text,
  `Department` text,
  `Note` text,
  `Kind` int(11) DEFAULT NULL,
  `Birthday` text,
  `JobTitle` text,
  `Nickname` text,
  `Prefix` text,
  `Suffix` text,
  `FirstSort` text,
  `LastSort` text,
  `CreationDate` int(11) DEFAULT NULL,
  `ModificationDate` int(11) DEFAULT NULL,
  `CompositeNameFallback` text,
  `ExternalIdentifier` text,
  `ExternalModificationTag` text,
  `ExternalUUID` text,
  `StoreID` int(11) DEFAULT NULL,
  `DisplayName` text,
  `ExternalRepresentation` blob,
  `FirstSortSection` text,
  `LastSortSection` text,
  `FirstSortLanguageIndex` int(11) DEFAULT '2147483647',
  `LastSortLanguageIndex` int(11) DEFAULT '2147483647',
  `PersonLink` int(11) DEFAULT '-1',
  `ImageURI` text,
  `IsPreferredName` int(11) DEFAULT '1',
  PRIMARY KEY  (`ROWID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE `message` (
  `ROWID` int(11) NOT NULL,
  `address` text,
  `date` int(11) DEFAULT NULL,
  `text` text,
  `flags` int(11) DEFAULT NULL,
  `replace` int(11) DEFAULT NULL,
  `svc_center` text,
  `group_id` int(11) DEFAULT NULL,
  `association_id` int(11) DEFAULT NULL,
  `height` int(11) DEFAULT NULL,
  `UIFlags` int(11) DEFAULT NULL,
  `version` int(11) DEFAULT NULL,
  `subject` text,
  `country` text,
  `headers` blob,
  `recipients` blob,
  `read` int(11) DEFAULT NULL,
  PRIMARY KEY  (`ROWID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

On peut ensuite importer ces données dans PHPMyAdmin via l’onglet importer en utilisant les paramètres suivants :

  • Nombre d’enregistrements (requêtes) à ignorer à partir du début : 1
  • CSV via LOAD DATA
  • Remplacer les données de la table avec le fichier
  • Champs terminés par : ,

Interrogation de la base et extraction finale des données

Enfin, une fois que les tables sont intégrées dans la base MySQL, il est possible d’utiliser PHPMyAdmin pour sélectionner les données qui nous intéressent et les imprimer ou les réexporter dans un format utilisable sous Excel ou OpenOffice par exemple.

Les requêtes suivantes peuvent être exécutées via l’onglet SQL.

Pour les contacts :

SELECT p.First, p.Last,p.Middle, n.value 
FROM ABPerson p 
LEFT JOIN ABMultiValue n 
ON p.ROWID = n.record_id
ORDER BY p.First, p.Last, p.Middle

Pour les SMS :

SELECT FROM_UNIXTIME( m.DATE ) AS DATE, m.address, m.TEXT, p.First, p.Last, p.Middle
FROM Message m
LEFT JOIN ABMultiValue n ON n.value = m.address
LEFT JOIN ABPerson p ON p.ROWID = n.record_id
ORDER BY DATE DESC

Conclusion

Ce petit article vous a montré comment exploiter les données contenues dans un Iphone, que ce soit les photos ou les vidéos mais aussi les données qui sont stockées dans le répertoire ou dans les SMS.

Il reste encore des autres tables non traitées dans ce tutoriel, sur lesquelles vous pourrez vous pencher car elles contiennent elles-aussi des informations qui pourront se révéler utiles. Par exemple, les données de l’agenda n’ont pas été abordées ici et peuvent receler des informations très pertinentes.

11 thoughts on “Extraction des données d’un Iphone sous Mac”

  1. Salut,

    C’est vrai que l’article est très intéressant. Le seul bémol, c’est que je ne trouve pas de logiciel pour windows. t’en connais d’autre que juicephone ?

  2. j’essaie de récupérer les photos stockée sur mon Iphone sur Mac, qui viennent d’une ancienne synchro avec un autre PC. J’ai essayé ta méthode mais elle ne récupère que les photos de Pellicule (prise avec l’Iphone). As tu une idée ?

  3. Bruno,
    j’ai absolument tout installer, mais je ne comprends absolument plus rien au moment de l’extraction.

    J’ai besoins de toi !

    Aide moi.

    Bonne soirée

  4. Bonjour Bruno,
    je viens de lire et appliquer tes conseils à la lettre (j’avais au préalable installé juicephone et fait tout ce qu’il fallait)..

    Le pb c’est que lorsque je vais dans ma sauvegarde d’iphone et que j’ouvre le fichier sms.db avec SQLite, il ne se passe RIEN…
    Ôo

    HELP…
    Merci ^^

  5. « Pour éviter de semer le trouble dans la librairie iTunes actuelle, il peut être utile d’en créer préalablement une autre en lançant iTunes avec la touche ALT activée. »

    C’est justement pour eviter de perdre mes precieuses listes que j’ai suivi ce conseil a la lettre. Malheureusement ca a produit l’effet inverse et maintenant je n’ai plus qu’un itunes tout neuf sans aucune playlist…

  6. Normalement, en relançant itunes avec la touche ALT appuyée, tu peux choisir l’emplacement de ta bibliothèque itunes et justement la remettre en place.
    Il suffit d’indiquer à itunes le chemin où elle se trouve

  7. Bonjour Bruno,

    merci de ce descriptif de procédure que j’ai suivi et qui a fonctionné pour téléhcarger le logiciel, l’installer, et extraire les fichiers en les plaçant dans un dossier de mon choix.

    J’ai bien tout les fichiers de mon Iphone : les photos, les vidéos, les memos sonores…et ce les notes.

    Sauf que les notes sont sous forme : notes.idx
    Et que mon Mac n’a pas trouvé quel logiciel utiliser pour les lire.

    Je suis allé dans l’application Notes : il ne propose pas non plus la fonction « ouvrir un fichier »

    Donc j’ai bien récupéré mes notes mais impossible à lire.

    Connais-tu la solution.

    Merci de ton aide

    Cordialement

    Antoine

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *