12 votos

Extrayendo datos de una copia de seguridad de TWRP

¿Cómo puedo extraer archivos individuales de una copia de seguridad creada con TWRP? Me encontré con esta respuesta, que trata sobre extraer un APK de la partición del sistema. Sin embargo, quiero extraer archivos de /data, los cuales se dividen en varios archivos en la copia de seguridad.

20voto

El El Puntos 101

cat data.ext4.win??? | tar xvfi -

Lo que hace esto es concatenar cada archivo que coincide con el patrón data.ext4.win??? y luego pasar los archivos concatenados a tar para su extracción. el - como nombre de archivo le dice a tar que extraiga desde stdin. La opción i ignora bloques de cero que estarán entre cada archivo de archivo concatenado.

En este ejemplo, utilicé la partición de datos formateada en ext4. Cambie data.ext4 para que coincida con la partición que está extrayendo.

Descargo de responsabilidad: Esto no ha sido probado en un entorno de Windows.

Para una solución menos "hacky" encontrada aquí

for f in data.ext4.win???; do tar xvf "$f"; done

Esto es un poco más simple sin depender de la opción de ignorar ceros de tar para funcionar adecuadamente

Editado para reflejar el comentario de davidgo.

31 de enero de 2020 Editado para reflejar los comentarios de Code Bling.

17 de febrero de 2021 Editado para reflejar los comentarios de alecxs.

1 votos

Realmente buena solución. Usé una versión ligeramente refinada de este comando para ignorar los archivos sha1 - "cat data.ext4.win00? | tar -xv"

0 votos

Esto no parece funcionar para mí, parece que estos no son archivos tar estándar. Recibo errores tar: Removing leading /' from member names` y tar: Malformed extended header: missing equal sign.

0 votos

Parece que te encontraste con un error en TWRP, más información aquí stosb.com/blog/recovering-data-from-a-corrupt-tar-archive

10voto

user149408 Puntos 106

Los archivos creados por TWRP con una extensión *.win o *.win??? son archivos tar. Si una partición se divide en varios archivos, cada uno es un archivo tar por derecho propio.

Existe una ligera diferencia, dependiendo de la versión de TWRP utilizada para crear la copia de seguridad. El hito parece ser 3.2.* o antes.

Si la copia de seguridad se creó con una versión más antigua:

Los archivos están en formato TAR estándar que cualquier sistema operativo similar a Unix debería entender. Simplemente cambie el nombre de cada archivo, dándole una extensión .tar, y ábralo en su herramienta de archivos favorita (Engrampa en Ubuntu MATE ha funcionado bien para esto).

Si la copia de seguridad se creó con una versión reciente:

El formato de archivo utiliza extensiones TAR personalizadas, que las herramientas tar estándar no pueden procesar, consulte https://github.com/TeamWin/Team-Win-Recovery-Project/issues/1472. Necesita extraer el archivo con la versión propia de tar de TWRP:

  • Si la copia de seguridad ya no está en el dispositivo, copie el archivo necesario de vuelta. (Debería funcionar en cualquier dispositivo con TWRP, independientemente de dónde se haya creado la copia de seguridad.)
  • Inicie en TWRP.
  • adb shell en el dispositivo.
  • cd a una carpeta donde desea almacenar los archivos extraídos (recomiendo crear uno temporal, extraer los archivos allí y luego copiarlos a su destino previsto, lo que le brinda cierta seguridad contra la sobrescritura accidental de partes de su sistema de archivos).
  • Extraiga esos archivos con la versión personalizada de tar de TWRP:
    • tar -tvf data.ext4.win000 mostrará todos los archivos en ese archivo de copia de seguridad en particular (usar grep para buscar algo en particular).
    • tar -xvf data.ext4.win000 ruta/hacia/archivo extraerá el archivo especificado. En mi caso, TAR eliminó la barra inclinada inicial / de los nombres de archivo y colocó el archivo extraído en la carpeta actual, con la ruta añadida.

Otra opción sería compilar la herramienta tar personalizada de TWRP en un sistema de su elección, luego hacer la extracción en ese sistema.

2 votos

En Ubuntu, al intentar abrirlos con doble clic, aparece el error: formato no compatible, pero puedo extraerlos con tar -xvf. Y en Windows, lamentablemente no puedo extraerlos con 7-Zip.

0 votos

Tar: Ignorando la palabra clave de encabezado extendido desconocida 'TWRP.security.e4crypt', el cliente de línea de comandos tiene éxito al extraer archivos, pero genera la advertencia anterior.

0 votos

No sé qué ha cambiado en los últimos años, pero extraer un archivo específico a una ruta relativa no me está funcionando usando el tar personalizado que está en twrp-3.6.2_9-0-hima.img desde dentro de una terminal adb. Sin la barra inclinada inicial en la ruta del archivo especificado, obtengo un error que indica que el archivo especificado no está en el archivo. Con la barra inclinada inicial, extrae el archivo a la ruta absoluta. El uso del argumento -C tampoco hace diferencia. He proporcionado ejemplos más completos aquí: github.com/TeamWin/Team-Win-Recovery-Project/issues/…

1voto

Scott Puntos 3238

Prueba BinWalk, es una herramienta rápida y fácil de usar para analizar, ingeniería inversa y extraer imágenes de firmware. y para obtener más información, echa un vistazo a esta Guía de Inicio Rápido.

-1voto

user267067 Puntos 228

Solo extráigalo con winrar en una carpeta en el escritorio y listo

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X