Magisk unterstützt jetzt Google Pixel 3 und Pixel 3a auf Android Q

Der Magisk-Entwickler hat zwei große Durchbrüche erzielt: Unterstützung für System-als-Root-Partitionen und logische Partitionen für Google Pixel 3 und Pixel 3a auf Android Q.

Google veröffentlichte bereits im März die erste Android Q-Beta und den Root-Zugriff über Magisk schnell verfügbar geworden für Google Pixel und Google Pixel 2. Das Google Pixel 3 konnte jedoch nicht auf Android Q gerootet werden, da der Entwickler von Magisk XDA Recognized Developer ist topjohnwu, musste herausfinden, wie man mit dem neuen Layout der logischen Partitionen arbeitet. Durch sein neues Praktikum bei Apple hatte topjohnwu weniger Zeit, an Magisk zu arbeiten, aber das hat ihn nicht davon abgehalten, zwei große Durchbrüche in der Entwicklung zu erzielen. In der neuesten Canary-Version unterstützt Magisk jetzt System als Root, was es für Apps schwieriger macht, Root zu erkennen Zugriff und unterstützt auch Geräte mit logischen Partitionen wie die Pixel 3- und Pixel 3a XL-Serien Android Q.

Google Pixel 3-ForenGoogle Pixel 3 XL-Foren

Google Pixel 3a-ForenGoogle Pixel 3a XL-Foren

Unterstützung für logische Partitionen von Google Pixel 3 und Pixel 3a auf Android Q

Um Entwicklern beim Testen von AOSP-Versionen von Android auf vorhandenen Geräten zu helfen, veröffentlicht Google Generic System Images (GSIs), die auf mit Project Treble kompatiblen Geräten (jedem Gerät, das … gestartet mit Android 9 Pie oder höher.) Die Installation eines GSI erfordert das Entsperren des Bootloaders, was möglicherweise nicht auf allen Geräten möglich ist, und das Flashen eines Systemabbilds über Fastboot nach dem Löschen des Benutzers Daten. In Android Q führt Google eine neue Funktion namens ein Dynamische Systemaktualisierungen Dadurch können Entwickler ein GSI starten, ohne den Bootloader zu entsperren oder Daten zu löschen. Um dynamische Systemaktualisierungen zu unterstützen, muss ein Gerät über logische Partitionen verfügen, deren Größe dynamisch geändert werden kann, um Platz für die GSI-Installation zu schaffen. Google Pixel 3, Google Pixel 3 XL, Google Pixel 3a und Google Pixel 3a XL verfügen über logische Partitionen in den Android Q-Betas, obwohl nur Pixel 3 und Pixel 3 XL DSU unterstützen. Aufgrund dieser radikalen Änderung der Partitionsstruktur funktionierte Magisk jedoch nicht.

Wenn topjohnwu ermittelt ist, hindert ihn nichts mehr daran, Root-Zugriff zu erhalten. Erst neulich gab er bekannt, dass er sein Pixel 3 XL erfolgreich auf Android Q Beta 4 gerootet hatte. Seine Commit-Beschreibung Hier erklärt die technischen Details, wie er die Unterstützung logischer Partitionen erreicht hat, aber wichtig ist, dass Magisk jetzt auf Geräten mit oder ohne logische Partitionen installiert werden kann.

System-as-Root-Unterstützung

Für Geräte mit A/B-Doppelpartitionen, wird die Systempartition als Stammverzeichnis (/) gemountet, aber bei Geräten ohne A/B-Doppelpartitionen wird die Systempartition unter /system gemountet. Dies macht reine System-OTAs auf Nicht-A/B-Geräten unmöglich, da Dateien auf der Ramdisk, die aktualisiert werden müssen, in der Boot-Partition liegen. Aus diesem Grund schreibt Google vor, dass alle Geräte, die mit Android Pie gestartet werden, das System-als-Root-Partitionslayout unterstützen, um OTAs nur für das System in Android Pie und höher zu ermöglichen. Im System-als-Root-Layout wird das Ramdisk-Image mit dem System-Image zusammengeführt, das als Rootfs gemountet ist.

Seit Google System-as-Root eingeführt hat, ist das Lösung zum Rooten von Geräten bestand darin, das System als Root auf das alte Partitionslayout „initramfs rootfs“ zurückzusetzen. Das funktioniert Gut für Android 7.1 bis Android 9 Pie, da Android dieses alte Layout bereits unterstützt, Android Q jedoch vollständig entfernt Die Unterstützung als System-as-Root ist jetzt für alle Geräte obligatorisch, auch für Geräte, die auf Android Q aktualisiert werden. Frühere Versionen von Magisk funktionierten dank einiger „wirklich fieser Hacks“ immer noch, aber topjohnwu war mit dieser Lösung nicht zufrieden und unterstützte daher „System-as-Root“ ordnungsgemäß eingeführt „MagiskInit.“

Ein netter Nebeneffekt der ordnungsgemäßen Unterstützung des System-als-Root-Partitionslayouts ist dieser ein möglicher Weg der Root-Erkennung wurde unterdrückt. Wie topjohnwu mir freundlicherweise erklärte, war die alte Methode „zu initramfs rootfs zurückkehren“ für Apps leicht zu erkennen, da Magisk gemountet wurde system an „/system_root“ und binden Sie mount „/system_root/system“ an „/system“. Alles, was eine App tun müsste, um das Vorhandensein von Root zu erkennen, ist: Überprüfen Sie, ob „/system_root“ existiert oder ob „/“ „rootfs“ ist. Es ist jedoch nicht klar, ob Apps dies tatsächlich zur Erkennung ausgenutzt haben Wurzel. Dennoch ist Vorsicht besser als Nachsicht.

Verschiedene Änderungen

Android Q führt Unterstützung für etwas ein, das „Blastula-Pool" zum Android-Anwendungslebenszyklus. MagiskHide war unfähig um Apps zu erkennen, vor denen der Root-Zugriff verborgen bleiben soll, wenn die neue Funktion „Prozesspool“ aktiviert wurde. Die neueste Canary-Version unterstützt diese Funktion jetzt. Laut topjohnwu: „Um die in Q eingeführte neue Blastula-Pool-Optimierung richtig zu unterstützen, habe ich einen guten Teil der Ptracing-Logik für die Prozessüberwachung neu geschrieben.“


Wenn Sie ein Pixel 3, Pixel 3 XL, Pixel 3a oder Pixel 3a XL in der Beta-Version von Android Q haben, probieren Sie die neueste Magisk Canary-Version aus und teilen Sie uns mit, ob Sie Ihr Gerät rooten können.

Magisk Canary Channel