Backup / Ripristino SMS / MMS tramite ADB su un dispositivo non rootato?


10

Esiste un modo per eseguire il backup / ripristinare i messaggi SMS e MMS utilizzando ADB, quando il dispositivo non è rootato?

  • adb pullnon funzionerà qui, poiché il database corrispondente ( /data/data/com.android.providers.telephony/databases/mmssms.db) non può essere letto da ADB se non è in esecuzione in modalità non sicura (root)
  • adb shell "cat /data/data/com.android.providers.telephony/databases/mmssms.db > /sdcard/mmssms.db non funziona neanche senza accesso root
  • adb backup per qualche motivo non copre questo database sul dispositivo con cui ho verificato (backup vuoto - solo i 41 byte dell'intestazione del backup nel file risultante)

Mi chiedo in particolare perché adb backupnon copre questo. Se è per "motivi di privacy", lo stesso dovrebbe valere per il database dei contatti, di cui è stato chiaramente eseguito il backup.

Riferimenti:

Quindi: qualsiasi soluzione su un dispositivo non rootato? Nota che NON sto chiedendo una soluzione basata su app. Sono pienamente consapevole che ci sono diverse app disponibili per questo . Voglio specificamente una "soluzione basata su shell", da utilizzare tramite ADB.


" NON sto chiedendo una soluzione basata su app " - Di nuovo forense?
Firelord

1
Preferibilmente sì (per altri lettori: le soluzioni preferite non richiedono nulla di modificato sul dispositivo). Considera che il dispositivo in questione riporta già "memoria insufficiente", quindi non è possibile installare qualcosa. Poiché il dispositivo si comporta in modo strano anche in altri contesti, è necessario eseguire un ripristino delle impostazioni di fabbrica, quindi sarebbe bello "salvare" quanti più dati possibili. Sono stato in grado di eseguire il backup della maggior parte delle cose tramite adb backup: poche eccezioni, la maggior parte ignorabili, ma agli utenti piace molto mantenere SMS che non sono stati coperti.
Izzy

Ehilà! Mi dispiace disturbarti, hai mai avuto una soluzione senza root? A proposito eccellente elenco di app, grazie per quel link!
Gruber,

1
@Gruber No, non ho ancora trovato nulla. // Sono contento che ti piacciano i miei elenchi di app!
Izzy

Risposte:


6

Mi chiedo in particolare perché il backup adb non lo copra.

Non è che adb backupnon voglia coprire l'app com.android.providers.telephony. Questa app non è molto diversa da qualsiasi altra app di sistema in base alla sua AndroidManifest.xml. Il problema è con la bandiera che il suo sviluppatore ha dichiarato nel manifest che come meccanismo predefinito per qualche motivo adb backupè tenuto a rispettare.

Questa bandiera non è altro che android:allowBackup="false". Esclude l'app sia dal backup che dal ripristino di ADB. Google qui ha da dire:

android:allowBackup

Se consentire all'applicazione di partecipare al backup e ripristinare l'infrastruttura. Se questo attributo è impostato su false, non verrà mai eseguito alcun backup o ripristino dell'applicazione, anche mediante un backup di sistema completo che altrimenti farebbe salvare tutti i dati dell'applicazione tramite adb. Il valore predefinito di questo attributo è vero.

(Enfasi mia)

Dai un'occhiata a AndroidManifest.xmlquesta app per la versione di Lollipop qui o vedi queste prove per il mio Android 4.2.1:

IMG: nessuna bandiera di backup

C'è di più in questa app. Non puoi nemmeno cancellare i dati da Impostazioni → App → Tutte le app →<THIS_APP> poiché android:allowClearUserData="false"è anche dichiarato, non qualcosa che incontriamo di tanto in tanto.

Se è per "motivi di privacy", lo stesso dovrebbe valere per il database dei contatti, di cui è stato chiaramente eseguito il backup.

È strano, non che tu sia in grado di farlo, ma come fa il tuo sistema a permetterti di farlo solo con adb backup!

La memorizzazione dei contatti è gestita dall'app "ContactsProvider" che passa con pkg_name = com.android.providers.contacts. La bandiera android:allowBackup="false"è chiaramente menzionata nella sua AndroidManifest.xmlper Jelly Bean (clicca qui per vedere le altre versioni).

Stai usando ICS o qualche predecessore di JB?

Ho scoperto che questa app non ha alcuna dichiarazione di tale flag per ICS qui . Puoi effettivamente cancellare questo mistero, dal momento che non riesco a eseguire il backup di questa app nel mio JB 4.2.1 secondo la definizione del flag e ottengo sempre quel file di backup di 41 byte.


Come per qualsiasi altro metodo per eseguire il backup / ripristino di SMS / MMS utilizzando ADB senza accesso root - tutte le mani qui.


Sono consapevole che è quella bandiera. Ma sia l'app che l'ADB fanno parte del sistema: non stiamo parlando di un fornitore di terze parti qui. Per chiarimenti: il dispositivo a cui mi riferisco qui esegue JellyBean (4.1.2). Grazie al tuo suggerimento, riproverò con gli altri miei dispositivi (4.2 e 4.3). Per quanto riguarda la privacy: potrebbe esserci anche un suggerimento per l'utente che fornisce una password. Inoltre, SharedStorage potrebbe contenere anche "dati privati" - inoltre Google presume che io voglia sincronizzare i miei contatti / calendari per impostazione predefinita quando abilito un account Google, invece di chiedermelo (quindi non c'è modo di annullare l'iscrizione se li aggiungi già con loro ).
Izzy

In pericolo che diventi un rant: se è troppo privato per il backup - perché allora è protetto anche da "dati chiari"? "Non attribuire mai alla malizia ciò che può essere spiegato dalla pura stupidità" ... // Quindi, non è possibile senza root: questo lascia solo il modulo Xposed appropriato ("Backup di tutte le app"). Che di nuovo deve essere installato sul dispositivo - cosa che volevo evitare ... Basta estrarre il database (con root) sarebbe una soluzione alternativa - ma ciò non consente il ripristino tra dispositivi (provato che una volta, non era un buona idea perché ha reso gli SMS inutilizzabili, quindi ho dovuto resettarli)
Izzy

1
So @Izzy che sei a conoscenza di una bandiera così semplice, (non sei diventato Pro dal nulla, ma dalla ricerca e dall'esperienza :) ma altri in cerca di risposte a una domanda così semplice probabilmente non lo sanno, e tutto di queste informazioni non era adatto per il commento. In realtà avevo in mente di scrivere questo commento, ma alla fine ho dimenticato che quando scrivevo questa risposta, mi dispiace!
Firelord

1
// Per quanto riguarda la password, sebbene ADB fornisca un backup protetto da password, potrebbe essere Google (IMO) a pensare che impedire l'accesso a contenuti sensibili sia una cosa migliore che consentire l'accesso che in caso di perdita del dispositivo può causare il dump di dati da parte di persone non autorizzate persona se il debug USB è stato abilitato per caso, seguito da un attacco di forza bruta.
Firelord

1
- oh, beh, l'hanno capito fin dall'inizio su come limitare la libertà in nome dell'impresa, potrebbe essere qualcos'altro. Riferirò qualcosa di buono (ovviamente non rant) se incontro in qualche modo.
Firelord
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.