Con questa guida vedremo come esportare dal database degli sms iphone i messaggi di un determinato contatto, salvando tutta la conversazione in formato xls (excel). Durante questi passi verrà temporaneamente generato un file csv contenente gli sms esportati, quindi il file di destinazione potrà essere quello che volete, in questa guida comunque vedremo di arrivare ad un file .xls
Requisiti:
- Avere un backup dell’iphone sul computer
- Firefox
- SQLite Manager (addon per firefox)
- Office/Open Office o qualsiasi altro editor di file xls
Procedimento
- Localizzare il backup del proprio dispositivo:
Mac: ~/Library/Application Support/MobileSync/Backup/
Windows XP: C:\Documents and Settings(username)\Application Data\Apple Computer\MobileSync\Backup\
Windows Vista: C:\Users(username)\AppData\Roaming\Apple Computer\MobileSync\Backup\
Dentro queste cartelle troverete altre cartelle, hash di 40simboli, entrate nella più recente (che corrisponderà all’ultimo backup fatto).
- Localizzate ora il file con il backup degli sms, il nome è:
3d0d7e5fb2ce288813306e4d4636395e047a3d28.mddata
(Dovete per forza avere firmware 3.x ed aver eseguito un backup con questo firmware, altrimenti il file NON avrò questo nome).
-
Copiatelo in una qualche locazione e rinominatelo come .sqlite.
-
Aprite con firefox l’estensione Sqlite manager, poi menu Database->Connect Database
-
Selezionate il file 3d0d7e5fb2ce288813306e4d4636395e047a3d28.sqlite appena copiato
-
Nel database appena aperto a destra andate nella scheda Execute SQL e introducete:
SELECT address, date, flags, text FROM message WHERE address LIKE ‘%012 ABCDEF%’ OR address LIKE ‘%012ABCDEF%’ ORDER BY date
Dopodichè eseguite la query tramite il tasto Run SQL.
Nota: Al posto di 012 ABCDEF e 012ABCDEF dovrete mettere il numero di telefono della persona di cui volete esportare la conversazione, ad esempio: 333 328909 (numero a caso), sia nella variante con lo spazio tra il prefisso e il numero sia nella variante senza, cioè 333328909.
Fatto questo vi ritroverete con una schermata del genere:
dove:
- il campo flags indica se il messaggio è stato inviato/ricevuto, in particolare se = 3 il messaggio è stato mandato, se = 2 è stato ricevuto
- il campo date indica la data in formato unix
-
Ora è il momento di esportare questi sms. Selezionate tutta la tabella dei risultati poi tasto destro-> Copy Row(s) as CSV
-
Apriamo un qualsiasi editor di testo, notepad ad esempio, ed incolliamo tutto il database in formato CSV e salviamo questo file (come .txt).
-
Apriamo Excel, menu File->Apri e selezioniamo il file .txt appena salvato. Partirà la procedura di importazione: Impostiamo il tipo di dati originali come Delimitati
e proseguiamo, nella seconda schermata selezionate come delimitatore la Virgola
e proseguiamo, al terzo passaggio selezionate come formato dati per la colonna del numero Testo e poi cliccate su fine.
Ora quello che dovreste trovarvi davanti è un qualcosa di simile:
- Vediamo ora come sistemare la visualizzazione:
- Per convertire la data dal formato unix al formato gg/mm/aaaa hh:mm basta semplicemente inserire come funzione:
=cella/86400+“1/1/70”
E successivamente modificare le proprietà della colonna in Data
Il risultato sarà:
- Per cambiare la colonna flags in qualcosa di visibilmente più significativo si può usare la funzione SE in questo modo:
=SE(cella=3;“Mandato”;“Ricevuto”)
Ora si possono nascondere le colonne inutili e sistemare un pò graficamento il tutto:
Questa guida è solo uno spunto, dal momento che si visualizza il database sms con un browser sqlite3 è possibile fare qualsiasi cosa (modificando la query come prima cosa), quella che riportata qui è solo un’idea di un possibile utilizzo.