Sólo para referencia de otros, aquí hay algunos antecedentes sobre el formato de archivo .ab.
El archivo de copia de seguridad de Android (*.ab) es un archivo comprimido TAR archivo. Está comprimido usando el DEFLATE algoritmo. Además de eso, puede haber Encriptación AES usado. Esto se determina cuando se crea la copia de seguridad, si se introduce una contraseña entonces la copia de seguridad está cifrada, de lo contrario; no hay cifrado, sólo está comprimida.
El encabezado del archivo es un poco diferente al de un archivo DEFLATE normal. Contiene información sobre la copia de seguridad y tiene el siguiente aspecto:
ANDROID BACKUP
1
1
none
La primera línea es la Línea "mágica" . La siguiente línea es la versión del formato de archivo de copia de seguridad de Android. La siguiente línea es un booleano (verdadero o falso, 1 o 0) que indica si el archivo está comprimido. La última línea es el tipo de cifrado. Este ejemplo no utiliza ningún tipo de cifrado. Si hubiera una contraseña, la línea diría "AES-256". Después de eso está el cifrado de la encriptación. Si no hay contraseña, entonces el "archivo" DEFLATE comienza.
Se comprime usando el Desinflamador de Java . Lo cual, desde la perspectiva de los desarrolladores, causa problemas si quieres usar algo más que Java para extraerlo. No he sido capaz de encontrar nada que pueda desinflarlo usando el mismo algoritmo, aunque todo lo que he encontrado (para como C#) se supone que sigue el "SPEC".
Dicho esto, hay un proyecto de código abierto bajo la licencia de Apache 2.0, escrito por Nikolay Elenkov que le permitirá extraer el .ab en un archivo de alquitrán.
Uso:
java -jar abe.jar unpack <backup.ab> <backup.tar> <password>
Si no está seguro de cómo usar realmente eso (lo cual está fuera del alcance de esta respuesta) la próxima versión de Explorador de droides v0.8.8.7 ( disponible aquí ) le permitirá hacer exactamente esto, y más, directamente desde el Explorador. Puedes leer más sobre las características en mi blog (sí, lo sé, enchufe desvergonzado. Lo hago cuando encaja con la pregunta)
3 votos
Véase también: ¿Existe una manera de mirar dentro y modificar un archivo creado por la copia de seguridad de adb?
0 votos
Creo que ninguna de las respuestas sin usar Java funcionará en teléfonos encriptados. Ver mi respuesta a continuación resumiendo el uso de la aplicación de nelenkov (github.com/nelenkov/Android-backup-extractor). Desafortunadamente, los scripts perl de Adebar de Izzy ab2tar no funcionarán en archivos de copia de seguridad encriptados. Algo parecido: Android.stackexchange.com/questions/23357/
1 votos
relacionado-
dd if=data.ab bs=1 skip=24 | openssl zlib -d | tar -xvf -
mencionado stackoverflow.com/questions/18533567/