Root für alle: Magisk – IzzyOnDroid

Uncategorized


Magisk Logo

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 per adb 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

TWRP

TWRP

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

Magisk Settings

Magisk Einstellungen

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

Magisk Modules

Magisk 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).

Magisk Downloads

Magisk Downloads

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.

howto

2018-05-27

Source

Sharing is caring!

Leave a Reply