Guida: Salvare sms in formato xls da backup iPhone

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.

Mi chiedo… ma se io modifico il file SQLlite aggiungendo nuovi record e rimettendolo a posto (nel backup) con il file correttamente nominato, se faccio un ripristino dal backup IN TEORIA non dovrebbe ripristinarmi il db degli sms modificato?

Qualcuno lo ha provato?

A fare come dici tu non ho mai provato, però ho provato ad aggiungere record e rimettere il file a posto a mano e non ci sono problemi.

Bisognerebbe verificare che itunes non tenga hash dei file che ha backuppato da qualche parte (magari alla fine del file stesso) e nel caso modificare anche quello, per il resto il tuo metodo non dovrebbe avere problemi a funzionare

Una domanda… perchè non mi legge tutti i messaggi?? Cioè arriva fino a circa uno due mesi fa… quelli successivi non stanno in questo file?? Grazie in anticipo

Non credo di aver capito la tua domanda, se usi SQLite Manager il plugin per firefox in fondo hai i tasti > e >> per scorrrere avanti con i risultati della query

No, io non ho tastini… > >> li trovo solo nella pagina Browse&Search mentre in quella utilizzata per il comando SELECT ovvero Execute SQL non ci sono… mi dice solo Number of Rows returned 579 o una roba simile… ma mancano molti messaggi recenti…

In più… c’è un comando rapido per selezionarli tutti? Ctrl+A non funziona nella lista del database…

Doppio post

Si scusa i tasti sono nell’altra schermata.
Se ti dice Rows returned 579 ti visualizza 579 messaggi, se poi questi non sono tutti allora non è un problema di visualizzazione ma è un problema di query.

Per caso è un contatto con 2 numeri di telefono diversi? Già questo spiegherebbe il problema…

Metodo veloce per selezionare tutto:

  1. Selezioni il messaggio il cima (clicca col mouse)
  2. Ti sposti in fondo tramite la scrollbar
  3. Selezioni l’ultimo messaggio (cliccando col mouse) e mentre lo selezioni premi SHIFT sulla tastiera

SimCell Phones English

[align=left]wholesale iphone Language: , French, Spanish, portugal,German,Russian,ThaiAppearance: Bar phone iphone cloneFive-page sliding menu AbercrombieDisplay: 2.4 inch touch screen,high definition Connectivity: [url=http://www.trademic.com/]wholesale Memory: support memory external to 8G GPRS/WAP,Voice mail server,Broadcast messageMini body: 100 x 50 x 10mm[/align]

scusate io mi blocco al passaggio della modifica delal data dal formato unix;
come devo inserire la funzione??

:cursing:

scusate nn sono esperta di forum e qdi nn so se è prassi ma mi sono registrata perchè devo ringraziare Suondmao per questa guida che mi ha salvato la vita!
grazie! :-)))

Beh “emilialuisolo” non è prassi… però lo hai fatto per un motivo molto valido, cioè un ringraziamento; spesso molti nn ringraziano quando vengono aiutati.
Hai fatto un ottimo gesto.

Ottimo anche, come sempre d’altronde, il lavoro si Soundmao. Grazie!

Goods2010-03-20-six-232

wrhlp0itracieay21egcozchlsghaa5fqsfsxud9kpb

Goods2010-04-14-seven-99

superful0504yanyi2016yumdeohym43wuyang88shaoxiexuewei35864

Do you online shopping pumps

we store specialize in high hop christian loubouin shoes.We promise that all the products we offer are in high quality.We have more than 5 years experience export goods to US and Canda,Europe.Warmly Welcome to contact with for more future information.

Ragazzi scusate io non sono molto esperto di informatica…quindi dando una lettura veloce non ho ben capito questo metodo e mi sembra anche un po’ lungo…

E’ l’unico metodo che esiste per salvare le conversazioni?? E se lo è, è anche sicuro? C’è il minimo rischio di perdere tutte le conversazioni? Io ho Windows Vista…è compatibile?

woo!good!

rolex schweiz rolex schweiz, rolex Replica rolex Replica, rolex Replica rolex Replica, rolex replica rolex replica, Rolex Watches Rolex Watches,

Innanzitutto grazie mille per questa guida, ormai mi stavo rassegnando a dover passare ore e ore a pigiare “carica messaggi precedenti”… :smiley:
Io l’ho utilizzato l’altro giorno e non ho riscontrato nessun problema, è semplice e in 5 minuti la si fa. :slight_smile:
Per la cronaca l’ho fatto con W7, e dal momento che si va ad agire su una copia del file di backup secondo me non ci sono rischi di perdere le conversazioni :slight_smile:

Solo una cosa non mi è chiara… l’ora delle mie conversazioni è giusto 2 ore indietro! :smiley:
Qualcuno sa dirmi se si può cambiare il numerino nella formula della data? Oppure come sistemarla per vie traverse… :slight_smile:

Ancora grazieee :thumbsup:

grazie mille per questa guida, ho solo un problema, non capisco come inserire la funzione per convertire la data! ringrazio in anticipo chi eventualmente mi risponderà

Ciao, già che bazzico di qua forse ti posso essere utile… che cosa non ti è chiaro? :slight_smile:
La cosa che mi ha fregato subito è non aver capito che quello segnato come “C1” nella guida in verità corrisponde alla tua cella contenente la data unix, quindi ho dovuto sostituire C1 con la cella che interessava a me…

=D18216/86400+“1/1/70”

Non so se era il tuo dubbio.:slight_smile:

P.S.: ci ho perso un po’ di tempo ma ho scoperto il valore da aggiungere alla data unix per recuperare le 2 ore indietro…:smiley:
Se interessa, basta creare un’ulteriore cella e inserire la funzione:
“C1+7227” (Sostituire C1 con la cella contenente la data unix)
In seguito ovviamente il calcolo per la data (=C1/86400+“1/1/70”) dovrà fare riferimento a questa nuova cella con 7227 aggiunto.