Estrarre la rubrica da un BlackBerry con software danneggiato

Un’amica mi ha sottoposto un dispositivo BlackBerry 9780 per un’analisi. Lo scopo era quello di recuperare il contenuto integrale della rubrica contatti, in quanto il software di sistema era pesantemente danneggiato e il dispositivo faticava ad accendersi. Dopo alcuni minuti di inattività, crashava improvvisamente con un messaggio di tipo App Error.

La prima cosa da fare, in questo caso, è rimuovere la batteria e reinserirla, per effettuare un reset. Dopo diversi tentativi in cui il dispositivo sembrava bloccato all’avvio, ho verificato che effettivamente il sistema si avviava, mettendoci però 11 minuti. Alla fine del caricamento, comparivano numerosi messaggi di errore relativi al software basato su Java.

Schermata di caricamento ed errori del software
Schermata di caricamento ed errori del software

In questi casi è possibile premere ripetutamente OK per raggiungere il menu del telefono. Dopo aver effettuato questa operazione, sono iniziate le difficoltà reali:

  • la rubrica mostrava la lista dei contatti (nomi) ma non era possibile aprirli per visualizzare i numeri
  • le impostazioni di sistema non erano accessibili e facevano crashare il dispositivo
  • non si riusciva ad effettuare un accoppiamento via bluetooth
  • il programma BlackBerry Desktop Manager, oltre a essere solo per Windows o Mac, non riusciva a connettersi al dispositivo

Il fatto di non poter aprire le impostazioni di sistema significava non potersi collegare al Wi-Fi per tentare di esportare i contatti tramite qualche app. I problemi col bluetooth lasciavano il collegamento USB come unica speranza.

Il mio piano infatti era quello di effettuare un backup con il software ufficiale di BlackBerry e poi esportare la rubrica. Dopotutto è possibile usare Windows in macchina virtuale (come quelle fornite da Microsoft sul sito Modern.ie) oppure creare una USB avviabile tramite le varie Release Candidate per sviluppatori. Peccato solo per l’errore nefasto restituito da BlackBerry Desktop Manager per Windows:

BlackBerry® Desktop Manager non è in grado di comunicare con il dispositivo BlackBerry connesso. Se il dispositivo si sta riavviando oppure la batteria è completamente scarica, fare clic su Riprova per tentare di ristabilire la connessione una volta completato il riavvio. In caso contrario, per risolvere il problema potrebbe essere necessario aggiornare BlackBerry® Device Software.

Come spesso accade, mi sono reso poi conto che Linux poteva venire in aiuto e salvare la situazione. Per evitare di installare troppo software sul mio portatile, ho creato una chiavetta USB avviabile con Xubuntu 14.10, assicurandomi di attivare la persistenza per poter salvare i dati recuperati. Ad ogni modo, qualsiasi distribuzione dovrebbe andare bene.

Per evitare problemi, ho effettuato nuovamente il reset del BlackBerry. Nel frattempo ho fatto partire Xubuntu. Una volta avviato il sistema, ho installato Barry, un software open source per gestire i dispositivi BlackBerry:

sudo apt-get install barrydesktop

Ho collegato il BlackBerry col cavo USB e ho avviato il programma con i permessi di amministratore, per evitare errori di accesso negato:

sudo barrydesktop

Barry ha individuato il dispositivo senza batter ciglio e mi ha chiesto di dargli un nome. Ho cliccato su Config… e poi sul primo tasto Configure… (quello relativo al backup) per selezionare tutti i campi disponibili. In realtà era di fondamentale importanza recuperare soltanto la rubrica, ma ero curioso di vedere quanto si potesse effettivamente estrarre.

Selezione degli elementi da estrarre
Selezione degli elementi da estrarre

Dopo aver salvato le mie scelte, ho dovuto solo premere il tasto Backup nella finestra principale:

Barry durante l'operazione di backup
Barry durante l’operazione di backup

Il processo si è interrotto “brutalmente” al 42%, probabilmente a causa degli errori software. Barry ha mostrato un messaggio di errore indicando quali campi non erano stati estratti. Ha quindi provveduto a salvare quello che era stato recuperato, incluso il contenuto integrale della rubrica. Il BlackBerry è poi crashato nuovamente.

Dato che il processo era stato avviato come amministratore, è stato necessario copiare i file dalla cartella dei backup alla home dell’utente che stavo utilizzando:

sudo cp /root/.barry/backup ~
sudo chmod a+r ~/backup

L’obiettivo finale era esportare i contatti in un formato “universale” che si potesse agevolmente aprire e magari importare su Gmail. Dato che Barry effettua il backup in un formato proprietario, ho utilizzato un comodo script chiamato BlackBerry-Address-Book-to-CSV.

È sufficiente scaricare il file ZIP, estrarlo ed eseguirlo sul file di backup. Si tratta solo di dare pochi comandi:

wget https://github.com/mintern/BlackBerry-Address-Book-to-CSV/archive/master.zip
unzip master.zip
cd BlackBerry-Address-Book-to-CSV-master
./bbab2csv ~/backup/[PIN]/[NOME].tar.gz

Al posto di [PIN] e [NOME] vanno inseriti il PIN del dispositivo e il nome dell’archivio creato da Barry, che varia di volta in volta. L’output in formato CSV viene mostrato nel terminale, se volete salvarlo su un file potete ripetere l’ultimo comando ridirezionando l’output:

./bbab2csv ~/backup/[PIN]/[NOME].tar.gz > ~/contatti_BB.csv

Il file risultante si trova nella home e si può aprire tranquillamente con LibreOffice oppure importare in un account Gmail, per sincronizzarlo con un dispositivo Android. Ovviamente va salvato in un posto sicuro, specialmente se si sta usando Linux su una live USB.

Il procedimento di recupero con Linux, alla fine, è stato molto veloce. La maggior parte del tempo è stata persa nei vari riavvii del dispositivo e tentando di far funzionare il software ufficiale di BlackBerry, che non è stato di alcun aiuto per estrarre i dati.

Tuttavia, BlackBerry Desktop Manager si è rivelato utile perlomeno per far tornare funzionante il telefono. Una volta collegato il cavo USB e ricevuto il messaggio di errore, ho cliccato su Aggiorna. Alla proposta di fare un backup ho risposto di no (altrimenti si sarebbe bloccato di nuovo) e ho confermato di voler formattare il dispositivo.

Alla fine del processo, il BlackBerry era perfettamente funzionante e tristemente vuoto. Avviando di nuovo Linux, con Barry ho potuto ripristinare la rubrica di cui era stato fatto il backup in precedenza.

La morale che si può trarre da questa esperienza è che da un BlackBerry con software danneggiato a volte si possono recuperare dei dati. Inoltre, non sempre l’applicazione ufficiale è la scelta migliore. Anzi, Barry consente di accedere almeno a una parte delle informazioni in casi in cui BlackBerry Desktop Manager non è in grado di collegarsi al dispositivo, con l’ulteriore vantaggio di non essere costretti a usare Windows.

4 pensieri su “Estrarre la rubrica da un BlackBerry con software danneggiato

  1. Complimenti per l’analisi e per il lavoro.
    Sarà il caldo e la voglia di ferie, ma siccome vedo che ce l’hai a morte con Windows … Hai mai scritto qualcosa, tipo analisi critica, riguardante questo s.o.? Mi piacerebbe conoscere il tuo punto di vista data la tua esperienza.

  2. Massimo,

    siccome vedo che ce l’hai a morte con Windows

    Non ce l’ho a morte con nessuno, nel post ho criticato pesantemente il software BlackBerry. La colpa in questo caso è di RIM che non produce il suo software anche per Linux. Quindi trovo piuttosto scomodo che una persona sia costretta a trovare un modo di ottenere legalmente una copia di Windows e perdere tempo a installarsi il sistema, solo per recuperare il dispositivo. D’accordo che Microsoft fornisce le Developer Preview solitamente, ma non è un motivo valido.😛

    Oltre a questo, il software ufficiale di BlackBerry dovrebbe consentire di accedere alle parti sane del dispositivo, o di farne un backup specialmente in condizioni critiche. Se ci riesce meglio un software di terze parti, qualcosa non va.😀

    Riguardo a Windows di per sé, si porta dietro tutti gli svantaggi del software proprietario. Se numerose persone si impegnano da anni per far conoscere alla gente la filosofia del software libero, un motivo c’è. Non è solo un discorso di superiorità tecnica. Certo, c’è anche la superiorità dei sistemi UNIX-like, ma è anche (e forse in modo più importante) un discorso di libertà degli utenti (e quest’ultima cosa vale anche per OS X).

    Quindi il software proprietario capita di usarlo perché a volte ti tocca (vedi ad esempio ri-flashare il firmware del BlackBerry in questione, o pensa a chi fa app per iPhone) ma non è una cosa che si fa con piacere, secondo me spesso non è neanche una libera scelta. Ci sei costretto e questo non va assolutamente bene.

    Puoi consultare anche questo sito per ulteriori dettagli. È abbastanza allineato con la mia opinione: http://whylinuxisbetter.net/index_it.php?lang=it

    Michele,non uso né l’uno né l’altro. Ho semplicemente descritto un’analisi su un dispositivo in merito a un recupero dati.🙂

  3. Grazie della risposta “Lazza”. Il mo era anche un “incipit” ironico… Ricordo tempo fa una risposta su Facebook. Mi dicesti qualcosa del genere: “Usi ancora Windows? Peggio per te” …
    Io mi occupo di sistemi embedded realtime (vedi progetto Yocto) e “purtroppo” dovrò conoscere meglio Linux, quindi mi sto organizzano con un paio di testi nelle prossime settimane di vacanza (non voglio vedere monitor per un po’) ed ho installato Ubuntu su un disco a se, nel mio computer che ormai è diventato un BOD. (sono a 6!).
    Non è che mi dispiaccia farlo, è che in ambito Embedded Linux non è realtime, preferisco sistemi più “reattivi”, anche quando non ce n’è strettamente bisogno.
    Fino ad oggi tutti i sistemi di sviluppo erano strettamente per windows, nessuno escluso. Ultimamente si intravede qualcosa … ed onestamente lo spero!
    Grazie per il link.

Che cosa ne pensi?

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...