Co to jest format pliku AB?
Pliki .ab są powiązane z Android Debug Bridge (ADB), narzędziem do debugowania dostępnym dla systemu Android 4.0 i nowszych. Pliki z rozszerzeniem .ab przechowują kopie zapasowe generowane za pomocą polecenia adb backup bezpośrednio z wiersza poleceń.
Plik .ab jest kontenerem binarnym. Otwiera się on tekstową sygnaturą (magic string) ANDROID BACKUP, po której następują cztery linie nagłówka ASCII zakończone znakiem nowej linii, deklarujące wersję formatu (od 1 do 5), flagę kompresji oraz znacznik szyfrowania (none lub AES-256). Wszystko po tym nagłówku to skompresowane algorytmem DEFLATE archiwum TAR - a w przypadku podania hasła, archiwum zaszyfrowane kluczem AES-256, gdzie klucz jest generowany przez PBKDF2, a suma kontrolna klucza głównego jest przechowywana w nagłówku.
Android Debug Bridge pozwala użytkownikom tworzyć niestandardowe kopie zapasowe, które mogą obejmować wszystkie zainstalowane aplikacje lub tylko wybrane dane aplikacji. Domyślnie plik .ab przechowuje dane aplikacji - ustawienia, bazy danych i pliki pamięci podręcznej - ale nie sam plik APK; należy dodać flagę -apk do polecenia adb backup, aby dołączyć pakiety instalacyjne. Android Debug Bridge oferuje również funkcję przywracania z kopii zapasowej .ab za pomocą adb restore.
Android Debug Bridge oferuje wiele innych funkcji poza możliwością tworzenia kopii zapasowych, takich jak:
- kopiowanie plików i folderów,
- sterowanie urządzeniem,
- możliwość uruchomienia powłoki typu Unix (shell),
- instalator aplikacji.
Należy pamiętać, że polecenie adb backup zostało uznane za przestarzałe (deprecated) począwszy od systemu Android 12 (2021). Wiele aplikacji już teraz rezygnuje z tej funkcji, ustawiając android:allowBackup="false" w swoim manifeście. Format ten jest zastępowany przez rozwiązania kopii zapasowych w chmurze, takie jak Google One Auto Backup oraz otwartoźródłowy projekt Seedvault.
Bezpieczeństwo
RYZYKO: MEDIUMPlik .ab to dane, a nie kod wykonywalny, więc sam plik niczego nie uruchamia. Prawdziwymi obawami są prywatność i odzyskiwanie: NIEzaszyfrowany plik .ab ujawnia bazy danych aplikacji, tokeny i dane osobowe każdemu, kto posiada plik - zawsze ustawiaj hasło podczas tworzenia kopii zapasowej i przechowuj pliki .ab w bezpieczny sposób. Jeśli zaszyfrowałeś plik i zapomnisz hasła, ładunek AES-256 jest praktycznie nie do odzyskania (nie ma tylnego wejścia). Przywracaj tylko te pliki .ab, które sam utworzyłeś; przywrócenie nieznanej kopii zapasowej może zapisać dane kontrolowane przez atakującego w Twoich aplikacjach.
Szczegóły formatu
w pigułceProgramy otwierające pliki AB
Szczegóły techniczne
specyfikacja| Typ formatu | Kontener binarny - nagłówek ASCII, po którym następuje ładunek TAR skompresowany DEFLATE; opcjonalnie zaszyfrowany AES-256 |
| Magiczne bajty (ASCII) | `ANDROID BACKUP` na offsecie 0, po którym następują cztery linie nagłówka ASCII zakończone znakiem nowej linii |
| Pola nagłówka | Linia magiczna, numer wersji formatu, flaga kompresji (1 = DEFLATE) oraz znacznik szyfrowania (`none` lub `AES-256`) |
| Kompresja | DEFLATE / zlib; kontrolowana przez flagę kompresji w nagłówku (1 = skompresowane, 0 = nieskompresowane) |
| Szyfrowanie | Opcjonalne AES-256 (CBC); klucz pochodny hasła przez PBKDF2; blok klucza głównego z sumą kontrolną HMAC przechowywany w nagłówku |
| Wewnętrzny ładunek | Standardowe archiwum POSIX/ustar TAR; zawartość poszczególnych aplikacji przechowywana w strukturach katalogów `apps/<package>/` |
| Wersje formatu | Wersje 1-5; wersja 5 wprowadziła silniejszy nagłówek szyfrowania AES-256; wewnętrzny format TAR jest spójny we wszystkich wersjach |
| Typ MIME | `application/octet-stream` |
| Typowy rozmiar pliku | Od kilku MB do kilku GB, w zależności od liczby kopii zapasowych aplikacji i ich danych użytkownika |
| Dołączanie APK | Pakiety instalacyjne aplikacji są domyślnie wykluczone; użyj flagi `-apk` z poleceniem `adb backup`, aby je dołączyć |
| Mechanizm rezygnacji aplikacji | Aplikacje deklarujące `android:allowBackup="false"` w swoim manifeście są automatycznie wykluczane z kopii zapasowej |
| Status wycofania | `adb backup` uznany za przestarzały od Android 12 (API level 31, 2021); funkcjonalność coraz bardziej ograniczana na nowoczesnych urządzeniach |
| Polecenie przywracania | `adb restore <file.ab>` - symetryczny odpowiednik `adb backup`, przywraca dane do podłączonego urządzenia Android |
| Deweloper | Google / Android Open Source Project (AOSP) |
| Obsługa platform | Tworzone na urządzeniu Android przez `adb`; narzędzia po stronie hosta działają na systemach Windows, macOS i Linux |
| Wydano | 2012 (Android 4.0 Ice Cream Sandwich, adb backup) |
| Najnowsza wersja | Backup format version 5 (adds AES-256 encryption header); 'adb backup' deprecated since Android 12 (2021) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | android.googlesource.com |
Konwersje AB
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki AB.