Extrahieren von Daten aus einem TWRP-Backup

Wie kann ich einzelne Dateien aus einem mit TWRP erstellten Backup extrahieren? Ich bin auf diese Antwort gestoßen , bei der es darum geht, eine APK aus der Systempartition zu extrahieren. Ich möchte jedoch Dateien aus extrahieren /data, die im Backup auf mehrere Dateien aufgeteilt werden.

Antworten (4)

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

Was dies tut, ist jede Datei zu verketten, die dem Muster entspricht, data.ext4.win???und dann die verketteten Dateien zur Extraktion an tar weiterzuleiten. wie der -Dateiname tar mitteilt, aus stdin zu extrahieren. Die Option i ignoriert Nullblöcke, die zwischen jeder verketteten Archivdatei liegen.

In diesem Beispiel habe ich die ext4-formatierte Datenpartition verwendet. Ändern data.ext4Sie es so, dass es der Partition entspricht, die Sie extrahieren.

Haftungsausschluss: Dies wurde nicht in einer Windows-Umgebung getestet.



Eine weniger hackige Lösung finden Sie hier

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

Dies ist etwas einfacher, ohne sich auf die Option Nullen ignorieren von tar zu verlassen, um ordnungsgemäß zu funktionieren



Bearbeitet, um Davidgos Kommentar widerzuspiegeln.

31. Januar 2020 Bearbeitet, um die Kommentare von Code Bling widerzuspiegeln.

17. Februar 2021 Bearbeitet, um die Kommentare von alecxs widerzuspiegeln.

Kommentare sind nicht für längere Diskussionen gedacht; Diese Konversation wurde in den Chat verschoben .

Die von TWRP mit einer *.winoder *.win???Erweiterung erstellten Dateien sind tar-Archive. Wenn eine Partition auf mehrere Dateien aufgeteilt wird, ist jede ein eigenständiges Tar-Archiv.

Abhängig von der TWRP-Version, mit der das Backup erstellt wurde, gibt es einen kleinen Unterschied. Die Wasserscheide scheint 3.2.* oder früher zu sein.

Wenn das Backup mit einer älteren Version erstellt wurde:

Die Dateien sind im Standard-TAR-Format, das jedes Unix-ähnliche Betriebssystem verstehen sollte. Benennen Sie einfach jede Datei um, geben Sie ihr eine .tarErweiterung und öffnen Sie sie in Ihrem bevorzugten Archivierungstool (Engrampa auf Ubuntu MATE hat dafür gut funktioniert).

Wenn das Backup mit einer neueren Version erstellt wurde:

Das Dateiformat verwendet benutzerdefinierte TAR-Erweiterungen, die die Standard-TAR-Tools nicht verarbeiten können, siehe https://github.com/TeamWin/Team-Win-Recovery-Project/issues/1472 . Sie müssen die Datei mit TWRPs eigener Variante von extrahieren tar:

  • Wenn sich die Sicherung nicht mehr auf dem Gerät befindet, kopieren Sie die erforderliche Datei zurück. (Sollte auf jedem Gerät mit TWRP funktionieren, unabhängig davon, wo das Backup erstellt wurde.)
  • Booten Sie in TWRP.
  • adb shellin das Gerät.
  • cdin einen Ordner, in dem Sie Ihre extrahierten Dateien speichern möchten (ich empfehle, einen temporären Ordner zu erstellen, Dateien dort zu extrahieren und sie dann an ihren vorgesehenen Zielort zu kopieren – das gibt Ihnen eine gewisse Sicherheit gegen versehentliches Überschreiben von Teilen Ihres Dateisystems).
  • Extrahieren Sie diese Dateien mit dem benutzerdefinierten Tar-Build von TWRP:
    • tar -tvf data.ext4.win000listet alle Dateien in diesem bestimmten Backup-Archiv auf (benutzen grepSie, um nach etwas Bestimmtem zu suchen).
    • tar -xvf data.ext4.win000 path/to/fileentpackt die angegebene Datei. In meinem Fall hat TAR den Anfang /von Dateinamen entfernt und die extrahierte Datei mit angehängtem Pfad im aktuellen Ordner abgelegt.

Eine andere Option wäre, das benutzerdefinierte Tar-Tool von TWRP auf einem System Ihrer Wahl zu erstellen und dann die Extraktion auf diesem System durchzuführen.

Unter Ubuntu öffnen sie mit Doppelklickfehlern: Format wird nicht unterstützt, aber ich kann sie mit extrahieren tar -xvfUnd unter Windows kann ich sie leider nicht mit 7-Zip extrahieren.
tar: Ignoriert das unbekannte erweiterte Header-Schlüsselwort 'TWRP.security.e4crypt', ist der Befehlszeilenclient erfolgreich beim Extrahieren von Dateien, spammt jedoch die obige Warnung.
Ich weiß nicht, was sich in den letzten Jahren geändert hat, aber das Extrahieren einer bestimmten Datei in einen relativen Pfad funktioniert bei mir nicht mit dem benutzerdefinierten Tar, das sich in twrp-3.6.2_9-0-hima.img innerhalb einer adb befindet Hülse. Ohne den führenden Schrägstrich im Pfad der angegebenen Datei erhalte ich eine Fehlermeldung, dass die angegebene Datei „nicht im Archiv“ ist. Mit dem führenden Schrägstrich extrahiert es die Datei in den absoluten Pfad. Auch die Verwendung des Arguments -C macht keinen Unterschied. Ich habe hier vollständigere Beispiele bereitgestellt: github.com/TeamWin/Team-Win-Recovery-Project/issues/…

Probieren Sie BinWalk aus , es ist ein schnelles, benutzerfreundliches Tool zum Analysieren, Reverse Engineering und Extrahieren von Firmware-Images. Weitere Informationen finden Sie in diesem Quick-Start-Guide .

Einfach mit winrar in einen Ordner auf dem Desktop extrahieren und fertig