Come recuperare i dati dai file di backup dell'iPhone

7-7-2011 NdR vedi nota aggiunta in fondo al post per recenti aggiornamenti

Se avete un iPhone saprete che questo, ogni qualvolta venga collegato al computer, attraverso il programma iTunes, esegue un backup dei suoi dati. Questi dati vengono salvati sul Mac nel seguente percorso:
~/Library/Application\ Support/MobileSync/Backup/
ed il formato di archiviazione è compresso ed illeggibile (esadecimale).

Qualora si volesse accedere al contenuto di questi backup, al di fuori del contesto "iTunes", ciò è possibile solo utilizzando qualche strumento software che possa aprire e leggere il formato in cui vengono appunto salvati alcuni set di dati. Cercando in rete sono incappato proprio nello strumento adatto a questo scopo(NdR vedi nota aggiunta in fondo al post per recenti aggiornamenti):
http://code.google.com/p/iphone-backup-decoder/
Questo è uno script scritto in Python che consente di accedere in lettura ai file di backup ed estrarre i dati compressi contenuti. Ovviamente per utilizzare questo script dobbiamo necessariamente aprire l'applicazione "Terminale" di Mac OS X ed avere una certa esperienza con i comandi e la shell Unix. Se non sapete di cosa sto parlando allora vi consiglio vivamente di limitarvi alla lettura dell'articolo e magari a cercare, se serve, un aiuto da qualche amico più esperto.

Prima di provare ad estrarre e leggere i file consiglio di fare una copia di backup della directory

~/Library/Application Support/MobileSync/Backup/

e fare le vostre prove e test proprio sulla copia di questa cartella. Mi raccomando non modificate l'originale!

Entriamo nel dettaglio dei comandi:
Supponendo che abbiate copiato la vostra cartella sulla Scrivania, dal terminale digitate

cd ~/Desktop/MobileSync/Backup/

quindi nella directory "Backup" troverete una o più sottodirectory con un nome fatto di numeri molto criptico. Nel mio caso, come mostro qui sotto

2b74013b32dc969897fa8d826f66c6952e2fc2e2


Scendendo ancora nella struttura della directory, e quindi nella cartella appena mostrata, troveremo tutti i file contenenti i dati di backup. Questi file sono caratterizzati dall'estensione ".mdbackup"
E' ora giunto il momento di lanciare il nostro script python dalla linea di comando del terminale
python ./decode_iphone_backup_v2.1.py *.mdbackup

passandogli come parametro "*.mdbackup" ;
verrà così creata una cartella MobileSyncExport contenente tutti i file estratti.

Troverete all'interno di questa altre cartelle, diversi file plist (Property List File) e database SQLite( che potrete esplorare con la utility SQLite Database Browser ). Ovviamente consiglio di navigare un pochino fra queste cartelle per scoprire meglio il loro contenuto.

Per fare un esempio pratico: Io ho installato sull'iPhone l'applicazione Air Sharing per archiviare e leggere file di diversi formati(PDF, DOC, JPG, ETC. Per una descrizione del programma rimando all' iTunes Store categoria Produttività); supponiamo che io voglia recuperare proprio questi file. Cercando tra le cartelle estratte ho trovato proprio una denominata "Air Sharing" all'interno della quale c'erano salvati alcuni dei miei ebooks.


Una volta che si sono tirati fuori i dati o meglio i file contenenti i dati, quest'ultimi, a secondo della loro natura(testo, video, audio,etc) dovranno essere editati con gli strumenti adeguati.
Va precisato che questo script attualmente opera una decodifica dei file di backup ma non è in grado di ricodificare, cioè ricreare file di backup leggibili da iTunes.

Questa procedura nel complesso può sembrare un po' difficile ed ostica ma ritengo che a fronte del recupero dei nostri preziosi dati, tutto sommato due gocce di sudore ce le possiamo anche sprecare ;-)

Ad MAiora

AGGIORNAMENTO DEL 7-7-2011

Grazie alla segnalazione di un lettore riporto qui di seguito la URL http://supercrazyawesome.com/ all'applicazione "iPhone/iPodTouch Backup Extractor" che semplifica completamente tutta la procedura sopra descritta. L'applicazione è però sviluppata solo per piattaforma Mac OS X.

Ad Maiora

Etichette: , , , ,