AB ファイル形式とは?
.ab ファイルは、Android 4.0 以降で利用可能なデバッグツールである Android Debug Bridge (ADB) に関連付けられています。.ab 拡張子を持つファイルは、コマンドラインから直接 adb backup コマンドを使用して生成されたバックアップコピーを保存します。
.ab ファイルはバイナリコンテナです。プレーンテキストのマジック文字列 ANDROID BACKUP で始まり、その後にフォーマットバージョン(1から5)、圧縮フラグ、および暗号化タグ(none または AES-256)を宣言する4つの改行区切りの ASCII ヘッダー行が続きます。そのヘッダー以降のすべては、DEFLATE 圧縮された TAR アーカイブ です。パスワードが指定されている場合は AES-256 で暗号化されており、キーは PBKDF2 経由で派生し、マスターキーのチェックサムがヘッダーに保存されます。
Android Debug Bridge を使用すると、インストールされているすべてのアプリケーション、または選択したアプリデータのみを含むカスタムバックアップを作成できます。デフォルトでは、.ab ファイルはアプリのデータ(設定、データベース、キャッシュファイル)を保存しますが、APK 自体は保存しません。インストーラーパッケージを含めるには、adb backup に -apk フラグを追加します。Android Debug Bridge は、adb restore を使用して .ab バックアップから復元する機能も提供しています。
Android Debug Bridge は、バックアップコピーを作成する機能以外にも、次のような多くの機能を提供しています:
- ファイルとフォルダのコピー
- デバイス制御
- Unix ライクなシェルの実行機能
- アプリケーションインストーラー
なお、adb backup は Android 12 (2021年) 以降、非推奨となりました。多くのアプリは、マニフェストで android:allowBackup="false" を設定することで、すでにバックアップを拒否しています。この形式は、Google One オートバックアップやオープンソースの Seedvault プロジェクトなどのクラウドバックアップソリューションに取って代わられつつあります。
セキュリティと安全性
リスク: MEDIUM.ab はデータであり実行コードではないため、ファイル自体が何かを実行することはありません。本当の懸念はプライバシーとリカバリです。暗号化されていない .ab は、ファイルを持つすべての人にアプリのデータベース、トークン、個人データをさらすことになります。バックアップ時には必ずパスワードを設定し、.ab ファイルを安全に保管してください。暗号化してパスワードを忘れた場合、AES-256 ペイロードは事実上復旧不可能です(バックドアはありません)。自分で作成した .ab ファイルのみを復元してください。不明なバックアップを復元すると、攻撃者が制御するデータがアプリに書き込まれる可能性があります。
形式の詳細
概要AB ファイルを開くプログラム
技術的詳細
詳細仕様| フォーマットタイプ | バイナリコンテナ - プレーンテキストの ASCII ヘッダーに続いて、DEFLATE 圧縮された TAR ペイロード。オプションで AES-256 暗号化 |
| マジックバイト (ASCII) | バイトオフセット 0 に `ANDROID BACKUP`、その後に 4 つの改行区切り ASCII ヘッダー行 |
| ヘッダーフィールド | マジック行、フォーマットバージョン番号、圧縮フラグ (1 = DEFLATE)、および暗号化タグ (`none` または `AES-256`) |
| 圧縮 | DEFLATE / zlib。ヘッダーの圧縮フラグによって制御 (1 = 圧縮、0 = 非圧縮) |
| 暗号化 | オプションの AES-256 (CBC)。PBKDF2 によるパスワード派生キー。HMAC チェックサム付きのマスターキー blob がヘッダーに保存される |
| 内部ペイロード | 標準の POSIX/ustar TAR アーカイブ。アプリごとのコンテンツは `apps/<package>/` ディレクトリツリーに保存される |
| フォーマットバージョン | バージョン 1-5。バージョン 5 ではより強力な AES-256 暗号化ヘッダーが導入された。内部の TAR 形式はすべてのバージョンで共通 |
| MIME タイプ | `application/octet-stream` |
| 一般的なファイルサイズ | バックアップされたアプリの数とユーザーデータに応じて、数 MB から数 GB |
| APK の包含 | アプリのインストーラーパッケージはデフォルトで除外される。含めるには `adb backup` で `-apk` フラグを使用する |
| アプリのオプトアウト機構 | マニフェストで `android:allowBackup="false"` を宣言しているアプリは、バックアップから自動的に除外される |
| 非推奨ステータス | `adb backup` は Android 12 (API レベル 31、2021年) 以降非推奨。最新のデバイスでは機能がますます制限されている |
| 復元コマンド | `adb restore <file.ab>` - `adb backup` の対称的な対となるコマンドで、接続された Android デバイスにデータを再インストールする |
| 開発者 | Google / Android Open Source Project (AOSP) |
| プラットフォームサポート | Android デバイス上で `adb` を介して作成。ホスト側のツールは Windows、macOS、Linux で動作 |
| リリース日 | 2012 (Android 4.0 Ice Cream Sandwich, adb backup) |
| 最新バージョン | Backup format version 5 (adds AES-256 encryption header); 'adb backup' deprecated since Android 12 (2021) |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | android.googlesource.com |
AB の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。AB ファイルについて最初の質問をしてみましょう。