How to extract or unpack an .ab file (Android Backup file)

tony9099 picture tony9099 · Aug 30, 2013 · Viewed 116.8k times · Source

I am running an android 4.0.3 device, and I want to extract the back up file created by :

adb backup -f ~/data.ab -noapk app.package.name

The above line works inside the CMD (windows) and I am able to get the data.ab file inside the '~' directory.

What I can't do is extact that file using CMD . I tried the below two methods.

dd if=data.ab bs=1 skip=24 | openssl zlib -d | tar -xvf -

dd if=data.ab bs=1 skip=24 | python -c "import zlib,sys;sys.stdout.write(zlib.decompress(sys.stdin.read()))" | tar -xvf -

I get the below error

error

I tried extracting it via CYGWIN, however, I failed too.

error

Where should I do the extraction ? In which directory should my command prompt be ? Any insights ?

Answer

Puddler picture Puddler · Sep 30, 2017

As per https://android.stackexchange.com/a/78183/239063 you can run a one line command in Linux to add in an appropriate tar header to extract it.

( printf "\x1f\x8b\x08\x00\x00\x00\x00\x00" ; tail -c +25 backup.ab ) | tar xfvz -

Replace backup.ab with the path to your file.