Просто для справки других, вот некоторые сведения о формате файла .ab.
Файл Android Backup (* .ab) представляет собой сжатый файл TAR . Он сжимается с использованием алгоритма DEFLATE . Кроме того, может быть использовано шифрование AES . Это определяется при создании резервной копии, если вы вводите пароль, то резервная копия шифруется, в противном случае; нет шифрования, оно только сжато.
ЗАГОЛОВОК файла немного отличается от обычного архива DEFLATE. Он содержит информацию о резервной копии и выглядит следующим образом:
ANDROID BACKUP
1
1
none
Первая строка - это «Волшебная» строка . Следующая строка - версия формата файла Android Backup. Следующая строка - логическое значение (true или false, 1 или 0), указывающее, сжат ли файл. Последняя строка - это тип шифрования. Этот пример не использует шифрование. Если был пароль, в строке было бы написано «AES-256». После этого идет шифрование. Если пароля нет, то запускается «архив» DEFLATE.
Он сжимается с помощью Java Deflater . Что, с точки зрения разработчика, вызывает проблемы, если вы хотите использовать что-то кроме Java для его извлечения. Я не смог найти ничего, что могло бы спустить это с помощью того же алгоритма, хотя все, что я нашел (например, C #), должно следовать "SPEC".
С учетом вышесказанного , существует проект с открытым исходным кодом под лицензией Apache 2.0, написанный Николаем Еленковым , который позволит вам извлечь .ab в файл tar.
Использование:
java -jar abe.jar unpack <backup.ab> <backup.tar> <password>
Если вы не уверены, как на самом деле использовать это (что выходит за рамки этого ответа), следующая версия Droid Explorer v0.8.8.7 ( доступна здесь ) позволит вам сделать именно это, и даже больше, прямо из Explorer. Вы можете прочитать больше о функциях в моем блоге (да, я знаю, бесстыдный плагин. Я делаю это, когда это соответствует вопросу)