@port139 Blog

基本的にはデジタル・フォレンジックの技術について取り扱っていますが、記載内容には高確率で誤りが含まれる可能性があります。

adb backup で Android 端末のバックアップを作成する(3)

adb backup コマンドを使いバックアップファイルを作成しましたが、このバックアップファイルの内容を展開・確認するには環境の準備が必要になります。

①Java 環境、②Cygwin環境 を手元の Windows 環境で設定しておく必要がありますので、それぞれ配布元のページからインストールしておきます。

Javaはインストール後に環境変数PATHに Java をインストールしたパスを設定しておきます。

次に、バックアップファイルを展開する為のツールとして、Android Backup Extractor を下記 URL からダウンロードします。adb backup で作成したバックアップファイルはそのままでは取り扱いが出来ないので、Android Backup Extractor  などのツールを利用して一般的に扱いが可能なデータ形式に変換する必要があります。*1

Android Backup Extractor

http://sourceforge.jp/projects/sfnet_adbextractor/

 Windows用のandroid-backup-extractor-20140615-bin.zipを展開すると、abe.jar ファイルがありますので、これをバックアップファイルと同じ場所にコピーしておきます。

*2

Javaのインストールと、環境変数にパスが設定されていれば、コマンドプロンプトからabe.jar を実行してバックアップファイルを tar 形式ファイルに変換する事ができます。

下記では事前に Backup フォルダに abe.jar ファイルと、adb backup コマンドで作成したバックアップファイル(暗号化なし)をコピーして置き、それをtar形式ファイルへ変換しています。

c:\backup>java -jar abe.jar unpack backup.ab backup.tar
Strong AES encryption not allowed
Magic: ANDROID BACKUP
Version: 1
Compressed: 1
Algorithm: none
234871296 bytes written to backup.tar.

作成した backup.tar ファイルを Cygwin 環境で tar コマンドを使って展開してみます。

 $ tar -xvf backup.tar

appsというフォルダが作成され、その配下にファイルが展開されている事が確認できるはずです。

さて、tar 形式ファイルの展開ですが、WinRAR でも展開する事ができますが、Cygwin の tar で展開した時とでは、手元では差異が発生しています。TARファイルを展開する時に使うツールによって差異が出るのは個人的にはよくあるケースだと考えています。

Cygwinで展開した場合:

ファイル数: 5829

フォルダ数: 538

サイズ: 219MB

バイト数:230,122,305

WinRARで展開した場合:

ファイル数:5826

フォルダ数: 539

サイズ: 219MB

バイト数: 230,077,935

 具体的な差異内容については確認していませんが、WinRARで展開した場合には同一パスのエラーが出たりしますので、Cygwin 環境下のtarコマンドで展開する方が安全ではないかと思われます。(少なくとも正しく展開できると確認できているツールを選択する必要があります)

もし、Cygwinのtarではなく別のツールを使う場合には、事前に出力される件数に差異が発生しないかを確認してから使う方がよいと思います。

Cygwinのtarにより展開されたファイルのタイムスタンプですが、作成日時は展開日時になりますが、ファイルの最終更新日時はオリジナルが維持された状態になっているはずです。

 

*1:Android Backup Extractor ツールは、Javaベースになっていますので使う為にはJavaの環境が必要になります。

*2:暗号化されたバックアップファイルの展開には更に追加でファイルが必要になります、Readme.txt に詳細が書かれています。