Root für alle: Magisk

Auf der Suche nach Möglichkeiten, die Leistungsfähigkeit unseres Androiden auszureizen, werden wir früher oder später unweigerlich mit Begriffen wie „Rooten“ und „Modding“ konfrontiert. Bei so manchem Gerät verzweifeln wir sodann fast daran, eine geeignete „Rooting-Methode“ zu finden. Seit einer Weile taucht in diesem Zusammenhang jedoch immer wieder ein universelles Tool auf, welches sich auf Android Geräten ab Version 5.0 (Lollipop) einsetzen lässt: Magisk.
Was ist Magisk?
Wie im Teaser bereits erwähnt, legt Magisk eine Magische Maske über das Dateisystem der nur lesend eingebundenen System-Partition. Letztere wird somit nicht verändert. Gegenüber vielen anderen Ansätzen bringt Magisk einige Vorteile mit:
- Die System-Partition wird nicht verändert („systemless root“) – OTA-Updates funktionieren also i. d. R. weiterhin (wie dabei vorzugehen ist, findet sich in der Dokumentation beschrieben).
- Ein "Root-Hider" („Magisk Hide“) ist gleich mit an Board, um das Vorhandensein des Root-Zugangs vor gewissen Apps zu verschleiern. Sogar den SafetyNet-Check besteht ein mit Magisk gerootetes Gerät; Dinge wie Android Pay, Snapchat & Co. können somit weiterhin genutzt werden.
- Mittels zahlreicher Module lässt sich der Funktionsumfang erweitern.
- Es ist 100% Open Source.
John Wu (@topjohnwu) aus Taipei, Taiwan ist die treibende Kraft hinter dem Projekt. Er stellt Magisk als Open Source Software (unter der GNU General Public License / GPL 3.0+) zur Verfügung. Der Name „Magisk“ hat dabei nichts mit einem Fabelwesen aus dem Harry-Potter-Universum zu tun (das war ein Basilisk): Es ist vielmehr aus dem beiden Worten „Magic Mask“ zusammengezogen. Denn genau das ist es, was Magisk tut: Es „maskiert“ Zugriffe auf die System-Partition – und leitet sie entsprechend um.
Installation
Um seinen Aufgaben gerecht zu werden, ohne die System-Partition zu modifizieren, ersetzt Magisk das so genannte „Boot Image“1 – und klinkt sich somit ganz zu Beginn des Boot-Prozesses ein. Auf diese Weise erlangt es Kontrolle über das gesamte System. Um die dafür nötigen Modifikationen durchführen zu können, muss das Installations-Skript natürlich zunächst mit den entsprechenden Zugriffrechten ausgeführt werden. Dies geschieht im so genannten „Recovery Modus“2. Da Android´s Standard-Recovery jedoch keine Fremd-Pakete akzeptiert, ist hier zunächst ein wenig Vorarbeit nötig:
Entsperren des Bootloaders
Um ein Custom-Recovery installieren zu können, muss zunächst der Bootloader entsperrt werden.
Das Sperren des Bootloaders ist eine Sicherheitsmaßnahme. Nicht nur wollen sich die Hersteller hier gegen unerwünschte Modifikationen schützen – sondern auch den Anwender vor Daten-Dieben. Bei ungesperrtem Bootloader könnten letztere sich durch das Starten oder gar Installieren eigener Images (System oder Recovery) auch bei per Kennwort geschütztem Gerät Zugriff auf die Daten verschaffen. Ein gesperrter Bootloader verhindert die Ausführung solcher Software. Eine Entsperrung geht i. d. R. immer mit einem Factory-Reset (also der Löschung aller Anwender-Daten und -Konfigurationen) einher, um Unbefugtem auch diesen Umweg zu versperren.
Die Entsperrung des Bootloaders umfasst nicht selten Hersteller- oder gar Geräte-spezifische Schritte. Entsprechende Anweisungen finden sich im Netz; am ehesten wird man im passenden Geräte-Forum bei den XDA Developers fündig. Im Groben gleichen sich die Schritte jedoch:
- In den Bootloader-Modus starten.
Dies geht beispielsweise peradb reboot bootloader
– oder indem man beim Einschalten des Gerätes gleichzeitig die „Lauter“-Taste und den Power-Button gedrückt hält. - Den Status überprüfen:
fastboot oem device-info
- Entsperrung des Bootloaders anfordern:
fastboot oem unlock
Der letzte Befehl ist gelegentlich gerätespezifisch leicht anders (z. B. fastboot -i 0x18d1 oem unlock-go
oder fastboot oem unlock-go
). Bei manchen Geräten lässt sich alles gleich in einem Schritt erledigen: adb reboot oem-unlock
. Bei wieder anderen ist es komplizierter, und es muss erst ein „Unlock Code“ beim Hersteller angefordert werden.
In jedem Fall jedoch werden die ADB und Fastboot Utilities für den Vorgang benötigt. Diese finden sich für die meisten Linux-Distributionen in einem Paket namens android-tools
, oder auch aufgeteilt in android-tools-adb
plus android-tools-fastboot
. Für andere Systeme finden sich Hinweise bei Stack Exchange: Is there a minimal installation of ADB?
Installation einer Custom Recovery
Wie das Thema „Recovery Modus“ bereits aufgezeigt hat, akzeptiert das vorinstallierte Recovery keine „Fremd-Pakete“. Als Ersatz empfiehlt sich, so für das eigene Gerät verfügbar, TWRP. Eine Liste offiziell unterstützter Geräte findet sich auf der Website – jeweils mit Download-Möglichkeit und Installationsanleitung. Wer dort nicht fündig wird, kann immer noch auf einen der zahlreichen „inoffiziellen Ports“ hoffen – welche sich häufig in den entsprechenden Geräte-Foren bei den XDA Developers finden.
Installation von Magisk
Zunächst muss man sich das aktuelle Magisk ZIP herunterladen. Dieses findet sich im jeweils aktuellen Thread des Magisk Forums oder auch unter https://magisk.me/zip/. Die ZIP Datei kopiert man auf die SD-Karte des Gerätes (nicht auspacken, nur kopieren). Dann kann es los gehen:
- Ins Recovery-Menü booten
- Das Menü „Install“ auswählen, dann ggf. „Install from SD-Card“
- Das dorthin kopierte Magisk ZIP auswählen, und die Installation bestätigen („Flash“)
- Nach erfolgreicher Installation das Gerät neu Starten („Boot System“)
Das war´s. Sobald das System wieder gestartet ist, sollte sich auf dem Gerät u. a. auch eine neue App vorfinden: Magisk Manager. Zukünftige Updates erfolgen direkt über diesen.





Konfiguration
Nach dem ersten Start des Magisk Managers passt man dessen Einstellungen zunächst an die eigenen Bedürfnisse an. Etwa, wer überhaupt Root-Zugriff erhalten soll: Apps, oder auch ADB? Der Eigentümer – oder auch andere eingerichtete User? Soll bei Root-Zugriffen eine Benachrichtigung erfolgen?
Hier empfiehlt sich auch die Aktivierung von „Systemless hosts“. Ad-Blocker wie etwa AdAway profitieren sodann automatisch davon. Ferner lassen sich im Menüpunkt „Magisk Hide“ die Apps auswählen, vor denen der vorhandene Root-Zugriff verborgen werden soll. Unter „Superuser“ sind die Apps aufgeführt, die bislang Root-Zugriff angefordert haben. Für jede dieser Apps lässt sich separat festlegen, ob der Zugriff gewährt, protokolliert und benachrichtigt werden soll. Eine Historie der Zugriffe findet man im Menü „Log“.
Magisk erweitern: Module
Analog zu dem bereits vor zwei Jahren vorgestellten Xposed-Framework lässt sich auch Magisk mit zahlreichen Modulen erweitern – u. a. sogar mit einem „systemless Xposed“. Installierte Module finden sich im Menü „Module“, welches zunächst natürlich leer ist. Verfügbare Module finden sich unter „Downloads“ – und lassen sich direkt von dort aus installieren. Auf Kompatibilität sollte man allerdings auch selbst ein Auge haben: So findet sich beispielsweise das Xposed Modul jeweils für die SDK Versionen 22, 24, 25, 26 und 27 – nur maximal eines passt zum eigenen Gerät (im hiesigen Beispiel: SDK 23, siehe Screenshot).
Bei gleichzeitiger Verwendung von Magisk- und Xposed-Modulen sollte man überdies darauf achten, Überschneidungen zu vermeiden – beispielsweise nicht Greenify4Magisk und das Greenify Xposed Modul gleichzeitig zu aktivieren. Andernfalls kann es durchaus zu „unerwünschten Nebenwirkungen“ kommen.
Weiterführende Links
Aktuelle Informationen zu Magisk finden sich u. a. im Magisk Forum sowie auf der Github Projektseite. Auf letzterer findet sich auch eine Magisk Dokumentation in englischer Sprache.
-
Das initiale System wird von der
/boot
Partition geladen, und stellt die grundlegenden Informationen bereit. Dazu gehören etwa die Geräte-Informationen (/dev
), aber auch das "RootFS" – das "Wurzel-Verzeichnis", unter dem der gesamte Verzeichnisbaum aufgebaut wird. Je nach Android-Version kommt hierfür initrd ("initial ram disk") bzw. dessen Nachfolger initramfs (initial ram filesystem) zum Einsatz. Die/boot
Partition selbst ist im laufenden Betrieb nicht mehr eingebunden: Sind die Anweisungen des „Boot Images“ ausgeführt, hat sie ihre Aufgabe erfüllt. ↩︎ -
Der Recovery Modus ist dafür gedacht, System-Updates einzuspielen oder auch den Androiden wieder in den „Auslieferungs-Zustand“ zurückzusetzen („Werksrücksetzung“ bzw. „Factory Reset“). Ab Werk sind Android-Geräte für gewöhnlich nur mit einem sehr eingeschränkten Recovery-Modus ausgestattet (erkennbar am Namen
<3e>
), welches nur Software-Pakete des jeweiligen Herstellers akzeptiert. Abhilfe schaffen so genannte „Custom Recoveries“. Am verbreitetsten sind etwa TWRP („Team Win Recovery Project“) und CWM („ClockWork Mod“). Erst mit diesen erlangt der Name „Recovery“ volle Bedeutung – bieten sie doch zusätzliche Funktionalitäten wie vollständiges Backup und Restore oder auch einen integrierten Dateimanager („Aroma“).
In den Recovery-Modus gelangt man i. d. R., indem man beim Einschalten des Gerätes die „Leiser“-Taste und den Power-Knopf für mehrere Sekunden gedrückt hält. ↩︎