Prérequis
- un iPhone jailbreaké ;
- un accès sftp à l’iPhone (il faut installer le package OpenSsh dans Cydia, disposer d’un client sftp sur votre machine de bureau et connecter les deux sur le même réseau) ou un outil de transfert de fichiers comme iphonefolders ;
- un outil permettant de lire des fichiers de bases de données Sqlite (inclus dans Cygwin sous le nom sqlite3.exe).
Méthode
Il suffit de récupérer le fichierssms.db dans le répertoire /private/var/mobile/Library/SMS/sur l’iPhone qui contient, en particulier, la table message :
ROWIDIdentifiant unique du messageaddressNuméro de téléphone de l’émetteur su SMSdatedate du message (heure GMT) en secondes depuis le 1er janvier 1970. Il est possible de convertir cette heure facilement sous Unix dans un format lisible à l’aide de la commandedate -u -R --date "1970-01-01 XXXXXXXX seconds"ou XXXXXXXX est le nombre de secondes en question.textContenu du messageflagsreplacesvc_centergroup_idassociation_idheightUIFlagsversionsubjectcountryheadersrecipientsreadsmsc_refdr_date
Il est possible d’exporter les données en fichier plus facilement utilisable en utilisant les commandes suivantes (en gras ce qu’il faut taper) :
sqlite3 sms.db
SQLite version 3.6.21
Enter ".help" for instructions
Enter SQL statements terminated with a " ;"
sqlite>.mode html
sqlite>.output messages.html
sqlite>select * from message ;
sqlite>.quit
On obtient alors un segment de fichier html au format UTF-8. Pour pouvoir l’ouvrir avec un navigateur Internet (ou avec Excel pour le modifier facilement), il faut rajouter le code suivant au début du fichier :
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<body>
<table>
<tr>
<th>ROWID</th>
<th>address</th>
<th>date</th>
<th>text</th>
<th>flags</th>
<th>replace</th>
<th>svc_center</th>
<th>group_id</th>
<th>association_id</th>
<th>height</th>
<th>UIFlags</th>
<th>version</th>
<th>subject</th>
<th>country</th>
<th>headers</th>
<th>recipients</th>
<th>read</th>
<th>smsc_ref</th>
<th>dr_date</th>
</tr>Rajouter aussi, en fin de fichier :
</table>
</body>
</html>On obtient alors un fichier HTML complet, facilement éditable...


