Warum macht "adb root" nichts?

Ich habe ein OnePlus 6T. Es wird von TWRP und Magisk gerootet. Ich habe ro.debuggableauf eingestellt 1. Aber wenn ich tippe adb root, passiert folgendes:

C:\Users\ituser> adb root

C:\Users\ituser> adb remount
Not running as root. Try "adb root" first.

Geben Sie hier die Bildbeschreibung ein

Ich kann nicht einmal adb pullSystemdateien verwenden.

Ich wundere mich, dass es keine Fehlermeldung auslöst. Funktioniert meines Wissens adb rootnicht bei "Produktions-Builds" (wie Stock-ROMs, auch wenn sie gerootet sind). Wenn Sie also kein "Entwickler-ROM" haben, sind die Chancen, dass dies etwas bewirkt, ziemlich gering.

Antworten (1)

Bei der Produktion – userdem Erstellen eines ROM – können Sie nicht adbdals Root beginnen, es sei denn, das ROM oder zumindest adbddie Binärdatei wird mit den erforderlichen Änderungen neu erstellt. Grund ist das ALLOW_ADBD_ROOTBuild-Flag ( 1 , 2 ) .
Aus diesem Grund wurde adbd Insecure entwickelt, das die adbdBinärdatei durch eine modifizierte ersetzte.

Auf einem userdebugoder - engBuild (oder mit unsicherer adbdBinärdatei, die aus einem dieser Build-Typen extrahiert wurde):

  • Wenn ro.secure=0, wird adbdals root ausgeführt, wenn dies in den Einstellungen (Entwickleroptionen) ( 3 ) aktiviert ist . Funktioniert jedoch adb rootnicht ( 4 ) .
  • Wenn ro.debuggable=1, adb rootwird adbdals root neu gestartet ( 5 , 6 ) .

Allerdings adbdkann aus modifiziertem Quellcode gebaut werden, um all diese Prüfungen zu überspringen. Zusätzlich sollte auch auf SELinux geachtet werden, falls im enforcingModus. adbdmuss im uneingeschränkten Superuser-Kontext ausgeführt werden dürfen: u:r:su:s0 ( 7 , 8 ) , was bei userBuilds ( 9 , 10 , 11 ) nicht der Fall ist . Weitere Informationen finden Sie in dieser Antwort .

Android-Eigenschaften können mit /data/local.propon userdebug/ engbuilds überschrieben werden, dh wenn das ALLOW_LOCAL_PROP_OVERRIDEBuild-Flag gesetzt ist ( 12 , 13 ) . Dies funktioniert jedoch nicht für ro.*Eigenschaften ( 14 ) und dasselbe gilt für setpropdas Befehlszeilentool. Die default.prop/ prop.default-Datei – die sich abhängig von den Geräte-Build-Konfigurationen ( 15 ) an mehreren möglichen Orten befinden könnte – kann jedoch geändert werden, um schreibgeschützte Eigenschaften zu ändern (sofern nicht bereits von einer anderen Eigenschaftsdatei oder *.rc-datei festgelegt). Wenn sich die Datei auf einer Ramdisk befindet, boot.imgmuss sie geändert werden.

Das Resetprop -Tool von Magisk kann die schreibgeschützten Eigenschaften zurücksetzen, auch wenn sie bereits festgelegt sind. ro.secureund ro.debuggablebeide wurden möglicherweise als Teil der MagiskHide-Richtlinie ( 16 ) geändert , die Sie wiederherstellen können, um die adbdAusführung als Root zuzulassen.

Eine weitere verwandte Eigenschaft ist ro.adb.secure, die die Authentifizierung mit öffentlichen Schlüsseln steuert. Durch Setzen ro.adb.secure=0auf userdebug/ engbuilds wird die Authentifizierung übersprungen (es kommt nie eine device unauthorizedMeldung) ( 17 , 18 , 19 ) ; verwandt: Speicherort von „adb_keys“ .

Als zusätzliche Information kann die Art des Aufbaus des Roms gefunden werdenro.build.type