Che cos'è il formato di file AB?
I file .ab sono associati ad Android Debug Bridge (ADB), uno strumento di debug disponibile per Android 4.0 e versioni successive. I file con estensione .ab memorizzano copie di backup generate utilizzando il comando adb backup direttamente dalla riga di comando.
Un file .ab è un contenitore binario. Si apre con la stringa magica in testo normale ANDROID BACKUP, seguita da quattro righe di intestazione ASCII terminate da un carattere di nuova riga che dichiarano la versione del formato (da 1 a 5), un flag di compressione e un tag di crittografia (none o AES-256). Tutto ciò che segue l'intestazione è un archivio TAR compresso con DEFLATE - e, quando viene fornita una password, crittografato con AES-256, con la chiave derivata tramite PBKDF2 e un checksum della chiave master memorizzato nell'intestazione.
Android Debug Bridge consente agli utenti di creare backup personalizzati che possono includere tutte le applicazioni installate o solo i dati di app selezionate. Per impostazione predefinita, un file .ab memorizza i dati delle app - impostazioni, database e file di cache - ma non il file APK stesso; aggiungere il flag -apk a adb backup per includere i pacchetti di installazione. Android Debug Bridge offre anche una funzione per il ripristino da un backup .ab utilizzando adb restore.
Android Debug Bridge offre molte altre funzionalità oltre alla possibilità di creare copie di backup, come:
- copia di file e cartelle,
- controllo del dispositivo,
- possibilità di eseguire una shell di tipo Unix,
- programma di installazione di applicazioni.
Si noti che adb backup è stato deprecato a partire da Android 12 (2021). Molte app hanno già scelto di non partecipare impostando android:allowBackup="false" nel loro manifest. Il formato viene sostituito da soluzioni di backup in cloud come Google One Auto Backup e il progetto open-source Seedvault.
Sicurezza e incolumità
RISCHIO: MEDIUMUn file .ab è composto da dati, non da codice eseguibile, quindi il file stesso non esegue nulla. Le vere preoccupazioni riguardano la privacy e il recupero: un file .ab NON crittografato espone database delle app, token e dati personali a chiunque possieda il file - imposta sempre una password durante il backup e conserva i file .ab in modo sicuro. Se lo hai crittografato e dimentichi la password, il payload AES-256 è effettivamente irrecuperabile (non esiste una backdoor). Ripristina solo i file .ab creati da te; il ripristino di un backup sconosciuto può scrivere dati controllati da un utente malintenzionato nelle tue app.
Dettagli del formato
in sintesiProgrammi che aprono file AB
Dettagli tecnici
specifiche approfondite| Tipo di formato | Contenitore binario - intestazione ASCII in testo normale seguita da un payload TAR compresso con DEFLATE; opzionalmente crittografato con AES-256 |
| Magic bytes (ASCII) | `ANDROID BACKUP` all'offset byte 0, seguito da quattro righe di intestazione ASCII terminate da un carattere di nuova riga |
| Campi dell'intestazione | Riga magica, numero di versione del formato, flag di compressione (1 = DEFLATE) e tag di crittografia (`none` o `AES-256`) |
| Compressione | DEFLATE / zlib; controllata dal flag di compressione nell'intestazione (1 = compresso, 0 = non compresso) |
| Crittografia | AES-256 (CBC) opzionale; chiave derivata da password tramite PBKDF2; blob della chiave master con checksum HMAC memorizzato nell'intestazione |
| Payload interno | Archivio TAR standard POSIX/ustar; contenuti per app memorizzati in alberi di directory `apps/<package>/` |
| Versioni del formato | Versioni 1-5; la versione 5 ha introdotto un'intestazione di crittografia AES-256 più robusta; il formato TAR interno è coerente in tutte le versioni |
| Tipo MIME | `application/octet-stream` |
| Dimensione tipica del file | Da pochi MB a diversi GB, a seconda del numero di app salvate e dei relativi dati utente |
| Inclusione APK | I pacchetti di installazione delle app sono esclusi per impostazione predefinita; usa il flag `-apk` con `adb backup` per includerli |
| Meccanismo di esclusione app | Le app che dichiarano `android:allowBackup="false"` nel loro manifest sono automaticamente escluse dal backup |
| Stato di deprecazione | `adb backup` deprecato da Android 12 (API livello 31, 2021); funzionalità sempre più limitata sui dispositivi moderni |
| Comando di ripristino | `adb restore <file.ab>` - controparte simmetrica di `adb backup`, reinstalla i dati su un dispositivo Android collegato |
| Sviluppatore | Google / Android Open Source Project (AOSP) |
| Supporto piattaforma | Creato su un dispositivo Android tramite `adb`; gli strumenti lato host vengono eseguiti su Windows, macOS e Linux |
| Rilasciato | 2012 (Android 4.0 Ice Cream Sandwich, adb backup) |
| Ultima versione | Backup format version 5 (adds AES-256 encryption header); 'adb backup' deprecated since Android 12 (2021) |
| Standard aperto | Sì · royalty-free |
| Specifica | android.googlesource.com |
Conversioni AB
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file AB.