OnePlus 2: TWRP Decrypt Storage

  • 9 Antworten
  • Neuester Beitrag
Diskutiere OnePlus 2: TWRP Decrypt Storage im Root / Custom-ROMs / Modding für OnePlus 2 im Bereich OnePlus 2 Forum.
M

markthwain

Neues Mitglied
Ich habe bei meinem Oneplus 2 die Data-Partition verschlüsselt (über den Punkt Telefon verschlüsseln in den Einstellungen). Gibt es eine Möglichkeit, dass ich mit TWRP (oder anderer Recovery) Backups machen und .zip-Dateien installieren kann? Ich bin dankbar für alle Antworten :)
 
Enkhiel

Enkhiel

Fortgeschrittenes Mitglied
Du kannst .zips flashen, in dem du die Datei über USB OTG oder adb nach /tmp pushed.
 
M

markthwain

Neues Mitglied
USB-OTG geht bei mir über den type C leider nicht (is aber n anderes Thema)
ADB push /UPDATE-Super-SU /tmp --> failed to copy: read-only file system
Musste erst in die Recovery, sonst kann man ja nicht nach System kopieren :D also gelöst, danke dir
 
Zuletzt bearbeitet:
Perry

Perry

Neues Mitglied
Ich baue einfach mal hier an.

Ich habe das Problem dass ich bei Oxygen OS 2.1.1 (root & TWRP 2.8.7.0 & verschlüsselt) keine zip Dateien flashen kann weil ich ständig den Fehler bekomme "unable to mount /data".

Auch das OTA Update funktioniert nicht mehr. Im OS selber funktioniert das Handy ohne Probleme aber eben kann ich keine zip Dateien mehr installieren. Selbst wenn ich diese via sideload in den Systemspeicher kopiere bricht das ganze ab.

Frage weiß jemand ob man das ganze ohnen einen Full Wipe wieder beheben kann oder komme ich um das komplette neu Flashen nicht drum herum?

Im voraus vielen Dank
 
Enkhiel

Enkhiel

Fortgeschrittenes Mitglied
Da ich vermute, dass du dein Handy auch verschlüsselt hast, kann ich dir nur sagen, dass wir derzeit in einer Sackgasse sitzen.
Solange TWRP keine Encryption unterstützt, können wir weder Patchen (Boot Loop), noch Wipen (nich mountbar) und müssen auf dem Stand bleiben.
 
N

newton

Fortgeschrittenes Mitglied
Ich kann Eure Probleme nicht ganz nachvollziehen. Ich habe mein OPT seit dem ersten Tag verschlüsselt. Als dann 2.1.2 raus kam mußte ich erstmal ein 2.1.1 full rom flashen, da ich /system und /boot modifiziert hatte um dann mit dem OTA zip auf 2.1.2 flashen zu können.

Beides, full rom flashen und ota zip flashen habe ich in TWRP mit adb sideload gemacht, geht einwandfrei und es stört auch nicht, daß da /data nicht gemountet ist. Warum auch, das Update hat ja ohnehin an /data nix verloren. Und so waren dann auch meine Settings/Userdaten erhalten und haben mit 2.1.2 einwandfrei funktioniert (ich habe 2.1.1 -> 2.1.2 ohne fullwipe durchgezogen).
Hinweis: Ich habe adb auf dem Notebook unter Linux laufen - keine Ahnung, obs mit Windows auch geht oder irgendwelche obskuren Treiberprobleme o.ä. gibt.

Nun zum mounten von /data unter TWRP. Kurz gesagt: Ist hinzubekommen, brauchts nur ein bisschen Linux knowhow.

Zunächst mal: Wie funktioniert der Kram? Die Daten werden mittels des Standard Linux Kernel Features dm crypt verschlüsselt. Aus noch ein paar anderen Gründen und damit Ihr Euer Passwort ändern könnt, ohne daß die Daten auf dem Flash umverschlüsselt werden müssen wird zur Verschlüsselung ein zufällig gewählter Schlüssel verwendet.
Am Ende der data Partition gibt es einen Bereich, wo nebst einigen weiteren Meta-Informationen dieser zufällige Schlüssel seinerseits verschlüsselt mit Eurem Passwort (oder PIN oder...) verschlüsselt liegt.

Problem scheint nun zu sein, daß seit Lollipop die Möglichkeit eingeführt wurde, daß in diese Verschlüsselung des eigentlichen Device-Schlüssels mit dem von Euch gewählten Passwort in der Hardware gespeichertes Geräte-Spezifisches Schlüsselmaterial eingehen kann - beim OPT ist definitv diese neue Form der Verschlüsselung vorhanden, was prinzipiell gut ist, da es die Sicherheit erhöhen dürfte.

Allerdings hat das ganz offensichtlich noch niemand auseinandergefieselt und in TWRP eingebaut oder es braucht irgendwelche Treiber oder irgendwelche Informationen, die man nicht hat - habe ich mir nicht näher angesehen.

Man kann nun aber auf die Sache mit dem verschlüsselten Device-Schlüssel pfeifen und direkt dm crypt ansprechen.
Braucht man nur das dazugehörige Tool dmsetup und natürlich Root.

So kann man sich im laufenden System (als root!) die Definition der Data-Verschlüsselung incl. Key anzeigen lassen (statt meinem Key hats hier aus naheliegenden Gründen nur Nullen - normal stehen da zufällige Hex-Zahlen):
Code:
bash-3.2# dmsetup table userdata --showkey
0 115326911 crypt aes-cbc-essiv:sha256 00000000000000000000000000000000 0 259:11 0 1 allow_discards
Dabei muß man natürlich dmsetup auf dem Device verfügbar haben - ist normal NICHT drauf.

Ich hab ein passendes Binary für Android mal unten im Spoiler uuencodiert reingepackt, da ich keine Möglichkeit gefunden habe, das File als Attachment anzuhängen. Ich hoffe, das ist mit den Forenregeln vereinbar.

Man kann dann das dmsetup Binary auf /cache kopieren, in TWRP booten, am besten per "adb shell" verbinden und folgendes ausführen:

Code:
~ # echo "0 115326911 crypt aes-cbc-essiv:sha256 00000000000000000000000000000000 0 259:11 0 1 allow_discards" | /cache/dmsetup create userdata
~ # mount /dev/mapper/userdata /data
Dabei muß natürlich anstelle "00000000000000000000000000000000" der auf dem eigenen Gerät im laufenden System per dmsetup ausgelesene Key stehen.

Fertig. Damit ist /data gemountet und es lassen sich ganz wunderbar auch Backups vom Gerät incl. Data mit TWRP machen, die direkt auf dem verschlüsselten Data landen.

Der Key sollte natürlich nicht in falsche Hände geraten, da das sozusagen die Kronjuwelen der Device-Verschlüsselung sind. Dieser Key ändert sich nicht, auch wenn ihr das Passwort ändert. Wer den Key hat, kann an die Daten - es sei denn, die Verschlüsselung wird neu aufgesetzt.

EDIT: Den Spoiler mit dem dmsetup wieder rausgenommen, weils die Foren-Formatierung eh kaputt macht. Wie krieg ich hier ein Binary angehängt?!
 
Zuletzt bearbeitet:
TheSSJ

TheSSJ

Stammgast
newton schrieb:
Wie krieg ich hier ein Binary angehängt?
Vielleicht Zippen? ^^
Ansonsten schöner Guide, mit der dmsetup wird data + sdcard also beschreibbar - wird den Leuten helfen, die sideload nicht nutzen können (veraltete ADB binary, etc.)
 
N

newton

Fortgeschrittenes Mitglied
Zuletzt bearbeitet:
T

Timer2000

Stammgast
Das klingt als sollte das in TWRP eingebaut werden. Ist das mit V3 vielleicht schon passiert?
 
N

newton

Fortgeschrittenes Mitglied
Ja, ich habe derzeit die 3.0.0-2 drauf und die kann das.