Root-Rechte auf dem HTC Magic: Jailbreak für Android

von Daniel Schraeder am , 11:39 Uhr

Was der Jailbreak für das iPhone bedeutet, sind Root-Rechte auf Android-Smartphones wie dem HTC Magic: Sie ermöglichen Dinge, die die Hersteller oder Netzbetreiber nicht vorgesehen haben. Es laufen mehr Programme, der Zugriff auf tiefergehende Einstellungen ist kein Problem, und theoretisch klappt sogar das Austauschen der Oberfläche. Wir zeigen am Beispiel des Magic, wie man ein komplettes Backup des Gerätes durchführt, Root-Rechte erlangt und es wieder in den Ursprungszustand zurückversetzt.

iPhone-Fans der ersten Generation haben schon Software von Drittanbietern auf ihren Smartphones installiert, als Apple [1] noch keinen App Store hatte. Dafür verantwortlich ist der sogenannte Jailbreak [2], der eine Sperre aufhebt: Standardmäßig laufen auf dem iPhone [3] nur Programme, die von Apple dafür freigegeben wurden. Ist das Handy geknackt, läuft alles – und es geht alles. Wer sich beispielsweise von der Texteingabehilfe bevormundet fühlt, schaltet sie einfach ab. Andere Sprache gefällig? Kein Problem. Und das iPhone als Modem oder Access Point benutzen? Auch nicht. Darüber hinaus gilt das für Programme, die permanent im Hintergrund laufen sollen – Instant Messenger zum Beispiel. Üblicherweise geht auch das nicht, um Rechenleistung, Akku und Ressourcen zu schonen.

Für professionelle iPhone-Nutzer ist der Jailbreak so üblich wie die Neuinstallation von Windows für Computerfreaks. Nach jedem Firmware-Update seitens Apple vergehen nur wenige Stunden bis Tage, bis ein entsprechendes Freischalttool zum Download bereit steht.

Mit den Android-Smartphones [4] gibt es nun eine weitere Gerätekategorie, bei der Software-Manipulation interessant ist. Zwar sind die Fesseln nicht ganz so streng wie bei dem Apple-Handy, denn die Installation von nicht zertifizierten Anwendungen außerhalb des Markets ist per se möglich. Dennoch gibt es Hürden: So ist beispielsweise das Tethering, also das Nutzen der Handys als Modem oder Access Point, von den Netzbetreibern nicht gewünscht. Dementsprechend hat Google [5] seinen Android [6] Market – das Pendand zum App Store – aufgeräumt und alle entsprechenden Programme entfernt. Die aber ohnehin nicht laufen, wenn sie keine Root-Rechte auf den Smartphones haben.

Auch andere Tools, etwa Dateibrowser oder Screenshot-Programme, benötigen ein freigeschaltetes Android. Hardwareseitig unterstützen übrigens sowohl G1 als auch Magic Multitouch – wer die Software nachinstallieren möchte, benötigt entsprechende Rechte. Auch das Austauschen der Oberfläche, von Boot-Logos oder Schriftarten ist so möglich.

Root – was ist das überhaupt?

In der Windows-Welt gibt es das Problem rund um die Rechte nicht. Die meisten Anwender arbeiten als Administrator an ihren PCs. Dementsprechend können sie Treiber austauschen, Hardware oder Software installieren und Systemeinstellungen nach Belieben ändern. Allerdings haben auch alle Programme entsprechend hohe Rechte – gewünschte wie unerwünschte. Viren oder Würmer beispielsweise können sich nur im System einnisten, wenn sie Zugriff auf Systemdateien oder die Registry haben. Wer seinen PC absichern möchte – so, wie es viele Arbeitgeber oder Schulen machen – gibt sich selbst beim Arbeiten nur eingeschränkte Berechtigungen. Der Haken daran: Systemänderungen sind nicht möglich, und das Betriebssystem nervt mit Warnmeldungen, Pop-Ups und Passwort-Abfragen. Vista-Nutzer können Lieder davon singen.

In der Linux- und Unix-Welt – und um nichts anderes handelt es sich bei Android – laufen Prozesse standardmäßig ohne Administratorrechte (die hier übrigens Root-Rechte heißen). Schließlich gibt es da, wo entsprechende Systeme hauptsächlich zum Einsatz kommen, in der Regel einen höhereren Sicherheitsbedarf. Bei Servern ebenso wie bei Handys: Ein Virus auf dem Smartphone [7] könnte teure 0900-Rufnummern anwählen, die aktuelle GPS-Position oder das Adressbuch an böse Buben übertragen oder schnüffeln, was man gerade so macht. Und beim Online-Shopping oder Ticket-Kauf per Handy etwa die Kreditkartennummer abfangen. Daher ist der Zugriff mit erhöhten Rechten standardmäßig nicht möglich.

Doch das verhindert eben den Zugriff auf tiefergehende Systemeinstellungen. Wer sie nutzen möchte, muss sich den Root-Zugang erkämpfen.

Wer braucht Root-Rechte?

Die Frage ist einfach zu beantworten: Jeder, der nicht mit den Anwendungen und Möglichkeiten zufrieden ist, die Android von Haus aus bietet. Wer schon häufiger im Android Market über Programme gestolpert ist, die Root-Zugriff brauchen, wer spielfreudig ist und alternative Oberflächen oder Logos einspielen möchte und wer alternative Images nutzen will – beispielsweise also die Software des neuen HTC [8] Heros inklusive Sense-Oberfläche.

Wer hier hingegen nur Bahnhof versteht, noch nie an die Grenzen seines Magic gestoßen ist und mit dem glücklich ist, was der Market zu bieten hat, muss nicht unbedingt aus Prinzip auf die höheren Rechte pochen.

HTC Magic „rooten“: Zutaten

Es gibt verschiedene Wege, Root-Rechte auf dem Android-Handy zu erlangen. Die meisten führen über das Entwickler-Kit von Google. Doch wer Windows nutzt und nicht vorhat, Anwendungen zu entwickeln oder eigene ROMs zu bauen, kann auch ein „Komplett-Set“ aller nötigen Tools herunterladen.

Zum einen ist ein gehacktes SPL nötig. Dabei handelt es sich um einen Bootloader, der – einfach gesagt – entscheidet, welche System-Images auf dem Gerät laufen dürfen und welche nicht. Er steht hier zum Download bereit: spl-signed.zip [9]

Darüber hinaus benötigen wir ein ROM mit aktivierten Root-Rechten. Das nach seinem Entwickler benannte Haykuros Rootme ROM [10] hat sich hier quasi zum Standard entwickelt.

Dann fehlt noch das Komplett-Set mit allen nötigen Treibern, Tools und Programmen – Z3kos Android n00b Helper [11].

Wer mit einem OS-X-Rechner oder unter Linux arbeitet, kann mit der Toolsammlung nichts anfangen. Nötig ist dann das Android-SDK von Google, Fastboot sowie ADB. Ausführliche Erklärungen und Links gibt es hier [12].

Grundsätzlich gilt vor dem Start der Aktion: Akku laden. Während des Flashens darf dem Smartphone der Saft nicht ausgehen – und auch der Notebook [13]-Akku sollte ausreichende Reserven haben. Außerdem gibt es beim Arbeiten mit diesen Tools ein gewisses Restrisiko. Deswegen erfolgt alles auf eigene Gefahr. Unabhängig davon haben wir beim Erarbeiten dieses Workshops ein besonderes Augenmerk auf die Sicherheit gelegt – in unseren Versuchen gelang es sogar problemlos, ein nicht mehr bootfähiges Vorserienmodell des HTC Magic wieder in seinen Ursprungszustand zurückzuversetzen.

Nach dem Download ist unter Windows zunächst die Installation des ADB-Treibers nötig. Er befindet sich im Ordner 0.USB Treiber des n00b Helpers. Zum Installieren ist zunächst das Entpacken der ZIP-Datei nötig. Danach fügt der Nutzer in der Systemsteuerung unter Hardware einen Treiber hinzu – noch ohne das Magic anzustecken. Unter XP gibt er im entsprechenden Dialog an, er hätte das Gerät schon angeschlossen, lässt sich eine Liste aller Geräte anzeigen und spielt den Treiber dann über Diskette oder Datenträger ein. Die richtige Datei – android_usb.inf – befindet sich im Unterordner x86. Nur wer ein 64-Bit-Betriebssystem einsetzt, nutzt den Treiber aus dem Verzeichnis amd64 – übrigens auch mit Intel-Prozessoren. Achtung: Es kann vor allem unter Vista zu Problemen kommen, wenn man das Gerät jetzt per USB ansteckt, ohne das USB-Debugging (siehe nächster Schritt) zu aktivieren.

ADB Treiber
Eine kleine Notlüge: Wir stecken das HTC Magic noch nicht an, gaukeln das aber dem Hardware-Dialog der Windows-XP-Systemsteuerung vor.

ADB Treiber
Wir möchten das Gerät von Hand installieren und wählen dafür „Alle Geräte anzeigen“ und weisen dem Betriebssystem dann über „Diskette…“ oder „Datenträger…“ den Pfad zur Treiberdatei.

Die Notbremse: System-Backup anlegen

Bevor wir anfangen, dem HTC Magic gehackte und manipulierte Firmware-Versionen unterzuschieben, machen wir ein Komplett-Backup. Dazu versetzen wir das Smartphone zunächst in den entsprechenden Modus. Das klappt unter Einstellungen – Anwendungen. Die Option Unbekannte Quellen brauchen wir an dieser Stelle zwar noch nicht, aber wer schon ein Android-Handy mit Root-Rechten hat, möchte bestimmt auch Applikationen jenseits des Market Places installieren – also diese Option einschalten. Nun aktivieren wir die für die nächsten Schritte relevante Option USB-Debugging im Ordner Entwicklung.

Android Entwicklermodus Android Entwicklermodus
Das Zulassen von unbekannten Quellen in den Anwendungs-Einstellungen des Magic ist später nützlich, um Software zu installieren, die der Market nicht bereithält. Unerlässlich zum Erlangen der Root-Rechte ist die Einstellung USB-Debugging im Unterpunkt Entwicklung.

Wer das Smartphone nun per USB mit dem Rechner verbindet, bekommt unter Umständen die Meldung, dass neue Hardware gefunden wurde. Windows soll dann nach Treibern suchen und sie automatisch installieren – die nötigen Dateien sind ja bereits vorhanden.

Ob bis hierhin alles geklappt hat, überprüft nun das Script Check! im Ordner 3. Check Drivers and Root Status des n00b-Helpers. Nach einem Doppelklick öffnet sich ein Textfenster. Ein Druck auf Enter, und es sollte ein Gerät erscheinen – zu erkennen an einer Buchstaben- und Zahlenfolge, beginnend mit HT…

ADB Treiber
So sollte es aussehen: Das Magic wurde erkannt.

Bleibt die Liste leer, hat die Treiberinstallation nicht geklappt – also einen Schritt zurück. Will die Installation partout nicht klappen, hilft eine Google-Suchanfrage. Es gibt verschiedene angepasste Treiber und Tools zum Download, die beim Lösen der jeweiligen Probleme helfen.

Nun schalten wir das Handy durch einen langen Druck auf die Auflegen-Taste und den Menüpunkt Ausschalten ab. Ist es aus, drückt der Anwender gleichzeitig auf Auflegen und den Zurück-Pfeil. Nach etwa fünf Sekunden erscheint der weiße Fastboot-Bildschirm. Am unteren Bildschirmrand sind Roboter auf Skateboards zu sehen.

Android Fastboot
Fingerakrobatik gefällig? Nach dem Abschalten des Magics drückt man gleichzeitig auf Auflegen und auf Zurück, um in den Fastboot-Modus zu gelangen. …

Android Fastboot
… Das sieht dann so aus.

Jetzt fahren wir fort und starten das Script Boot modified recovery im Ordner 1. Recovery Helper. Nach ein paar Sekunden sollte das Magic neustarten und nach kurzem Bootvorgang mit rotem Vodafone-Logo ein blaues Menü anzeigen. Der Nutzer scrollt mit dem Trackball zur Option Nandroid Backup 2.1 und drückt auf die Kugel. Nun fertigt das Magic eine Sicherungskopie seines Images auf der SD-Karte an. Ist die Aktion beendet, starten wir das Smartphone mit der Option reboot system now neu und lassen es – nicht am PC angesteckt – wieder normal hochfahren.

ADB Treiber
Diese Funktion schreibt ein Komplett-Backup des Magics inklusive aller Daten, Programme und Betriebssystem auf die MicroSD-Karte.

Jetzt wird’s ernst: manipulierte Images einspielen

Läuft das Magic wieder ganz normal, verbinden wir das Handy via USB mit dem Computer. Oben in der Android-Statusleiste taucht das USB-Symbol auf. Wir ziehen die Leiste herunter und wählen USB-Verbindung. Unter Windows erscheint ein neuer Laufwerksbuchstabe – zu sehen ist der Inhalt der MicroSD-Speicherkarte. Auf ihr gibt es nun einen Ordner namens nandroid. In ihm befindet sich das Backup. Wir kopieren es auf den PC – jetzt kann eigentlich nicht mehr viel schiefgehen. Bei unseren Tests gab ein Vorserienmodell beim Versuch, die manipulierten Dateien einzuspielen, zwar den Geist auf – aber das Backup ließ sich wieder einspielen. Danach lief das Magic wieder. Wie das geht, zeigen wir am Ende dieses Beitrags. Mit Seriengeräten hatten wir übrigens keine Probleme.

USB-Dateiübertragung
Wer das Handy wieder normal booten lässt und via USB mit dem PC verbindet, wählt diese Option in der Statusleiste aus. Sekunden später erscheint ein neuer Laufwerksbuchstabe im Windows – zu sehen ist der Inhalt der MicroSD-Karte inklusive Backup.

Nun kopieren wir die Datei spl-signed.zip in das Hauptverzeichnis der Speicherkarte – also dahin, wo auch der Ordner nandroid liegt, aber nicht in ihn hinein. Ist der Kopiervorgang abgeschlossen, wird das Gerät abgeschaltet und durch gleichzeitigen Druck auf Auflegen und zurück in den Fastboot-Modus versetzt. Der Nutzer startet nun wieder das Script Boot modified recovery. Nach wenigen Sekunden erscheint das bekannte blaue Menü. Wer hier Apply sdcard:update.z auswählt, spielt den manipulierten Bootloader (SPL) ein. Kommt es zu einer Fehlermeldung, liegt die richtige Datei nicht am richtigen Ort.

Android Firmware-Update
Diese Option spielt den Bootloader von der SD-Karte in das ROM des Smartphones.

Jetzt startet ein Druck auf reboot system now das Smartphone neu – alles ist noch wie gehabt. Es fährt ganz normal hoch. Wir verbinden es per USB mit dem Rechner, aktivieren die Dateifreigabe und löschen die gerade genutzte Datei update.zip von der Speicherkarte. Danach kopiert der Nutzer das gehackte Image (rootme-signed.zip) auf die Speicherkarte, benennt sie um in update.zip, fährt das Gerät herunter und schaltet es im Fastboot-Modus wieder ein. Boot modified recovery lädt zum vorerst letzten Mal das bekannte, blaue Menü, und die Option Apply sdcard:update.z spielt nun das modifizierte ROM ein. Das dauert jetzt etwas länger. Kommt es zum Fehler, war wie oben die richtige Datei nicht an der richtigen Stelle im Hauptverzeichnis der Speicherkarte. Achtung: Der Download zieht sich etwas in die Länge – bei uns kam es einmal zum Fehler, weil wir die noch nicht vollständig heruntergeladene Datei auf die Speicherkarte kopiert haben.

Root-Rechte überprüfen

Wer nun das vom Anfang bekannte Check!-Script erneut aufruft, kann überprüfen, ob der Vorgang geklappt hat. Nach dem ersten Druck auf Return sollte wieder das Gerät in der Liste erscheinen, nach dem zweiten Druck zeigt das Script den Rechtestatus an. Erscheint hier eine lange Liste mit Inhalt wie uid=2000(shell) gid=2000(shell)…, gab es beim Freischalten ein Problem – also zurück zum Anfang. Üblicherweise sollte der Prozess aber abgeschlossen sein und hier lediglich gid=0 und uid=0 erscheinen. Ab sofort laufen Programme mit uneingeschränkten Rechten.

Warum klappt das Tethering nicht?

Unser nächster Schritt war es, das Programm android-wifi-tether [14] herunterzuladen und zu installieren. Beides klappt auch – und dank Root-Rechten startet das Programm nun ohne Fehlermeldung. Es soll einen WLAN-Accesspoint aus dem HTC Magic machen, sodass sich Notebooks und Netbooks kabellos über das Smartphone mit dem Internet verbinden können. Aber: Das Starten von Tethering schlägt fehl – dem Betriebssystem-Kern des Magic fehlt das dafür nötige Modul iptables. Wir arbeiten bereits an einer Lösung und bringen dazu einen weiteren Workshop.

Hilfe, ich will das nicht – wie komme ich zurück?

Wer sein Handy wieder in den Zustand vor dem Start dieses Workshops zurückversetzen möchte, kann das vorher angelegte Backup wieder einspielen. Dazu kopiert er die Datei fastboot.exe aus dem Ordner 1. Recovery Helper des n00b Helpers in den nandroid-Unterordner, in dem sich die Dateien system.img, data.img und boot.img befinden.

Nun öffnet der Nutzer eine Eingabeaufforderung (Start-Ausführen-cmd), wechselt mit dem Befehl cd in das Verzeichnis, in dem die drei Image-Dateien sowie fastboot.exe liegen (die übrigen Dateien interessieren uns im Moment nicht) und führt die folgenden Befehle aus:

fastboot erase system -w
fastboot erase boot
fastboot flash system system.img
fastboot flash userdata data.img
fastboot flash boot boot.img
fastboot reboot

Nach dem mit dem letzten Befehl eingeleiteten Neustart ist das Magic wieder im Ursprungszustand – mit allen Daten, Programmen und Einstellungen.

Fazit

Root-Access ist eine Bastelei. Wer sich nicht mit der Technik seines Smartphones auseinandersetzen möchte, sollte einen Bogen um diese Tricks machen – denn es kann sein, dass er beim nächsten Android-Update wieder Hand an sein Handy anlegen muss. Wer aber das Letzte aus seinem Magic herausholen möchte, eigene Images zusammenstellen oder Zusatzprogramme laufen lassen will, die auf einem nicht manipulierten Android-Handy nicht funktionieren, hält nach diesen Schritten alle Fäden in der Hand, die das HTC-Smartphone zu bieten hat.

Artikel von CNET.de: http://www.cnet.de

URL zum Artikel: http://www.cnet.de/41006274/root-rechte-auf-dem-htc-magic-jailbreak-fuer-android/

URLs in this post:

[1] Apple: http://www.cnet.de/unternehmen/apple/

[2] Jailbreak: http://www.cnet.de/praxis/insider/41005630/neue+iphone_firmware+3_0+gehackt+jailbreak+mit+pwnagetool.htm

[3] iPhone: http://www.cnet.de/tests/handy/41005474/neues+iphone+3g+s+im+test+schneller_+besser_+cooler.htm

[4] Android-Smartphones: http://www.cnet.de/themen/archiv/39001234/artikel+zum+thema+android.htm

[5] Google: http://www.cnet.de/unternehmen/google-inc/

[6] Android: http://www.cnet.de/themen/android/

[7] Smartphone: http://www.cnet.de/themen/smartphone/

[8] HTC: http://www.cnet.de/unternehmen/htc/

[9] spl-signed.zip: http://sapphire-port-dream.googlecode.com/files/spl-signed.zip

[10] Haykuros Rootme ROM: http://www.droiddeveloper.com/hrbuilds/rootme-signed.zip

[11] Z3kos Android n00b Helper: http://www.megaupload.com/?d=PTPFXCT1

[12] hier: http://android-dls.com/wiki/index.php?title=Magic_Rooting

[13] Notebook: http://www.cnet.de/themen/notebook/

[14] android-wifi-tether: http://code.google.com/p/android-wifi-tether/