Oder wie rolle ich mein Gerät ohne einen Rooter?
Die Anweisungen zum Starten von Android-Geräten, die ich gesehen habe, haben normalerweise die folgende Form:
- Herunterladen
Gingerbreak.apk
- Starte Gingerbreak und klicke auf "root device"
- Beobachten Sie, dass
Superuser.apk
dies, möglicherweise zusammen mitbusybox
anderen Dingen, magisch installiert wurde , und genießen Sie Ihre wurzelnde Güte.
Was ich wissen möchte, ist Folgendes: Wie geschieht das Verwurzeln tatsächlich? Was macht Gingerbreak?
Ich verstehe das Endergebnis des Rootens:
su
ist anwesend und arbeitetSuperuser.apk
ist installiert und kontrolliert den Zugriff aufsu
- Es gibt verschiedene Dienstprogramme, die von BusyBox bereitgestellt werden (optional?)
Ich denke auch, dass ich die Grundidee verstehe, wie Gingerbreak gestartet wird - es nutzt eine lokale Sicherheitsanfälligkeit bezüglich der Eskalation von Berechtigungen aus und nutzt seine neu entdeckten Fähigkeiten, um Superuser und alles, was sonst noch nötig ist, bereitzustellen.
Wenn ich mich also nicht in dem oben dargelegten Verständnis irre, ist der Kern der Sache, die ich wissen möchte, was der Root-Installer tut, um den Superuser bereitzustellen und zu aktivieren. Es scheint, als Superuser.apk
würde es nicht ausreichen , den richtigen Ort zu wählen. Wie wird Root-Zugriff gewährt? Wie kommt es, dass der Zugriff für andere Anwendungen gemindert wird?
Was macht Gingerbreak nach dem Exploit, um den Root-Zugriff zu ermöglichen und zu sichern?
Antworten:
Die APK und der Exploit bewirken (normalerweise) Folgendes:
Als Beispiel wird auf dieser Seite beschrieben, wie der Angreifer versucht, erhöhte Berechtigungen zu erlangen.
quelle
Nachdem ich viel gegraben hatte, fand ich es endlich heraus. Ich habe mich geirrt, wo die Magie ist - sie ist nicht im Installationsskript; Alles, was Sie tun müssen, ist, die Binärdateien
su
undSuperuser.apk
an die richtige Stelle zu setzen und ihre Berechtigungen festzulegen. Es ist also wirklich so einfach wie das Ablegen von Dateien und das Festlegen von Berechtigungen. Keine magische Verkabelung.Die Magie geschieht in der
su
Binärdatei (siehe die Quelle und auch diese Frage ). Ich habe (fälschlicherweise) gedacht, dass diessu
ein Standardsu
ist und dass die Dinge irgendwie so verdrahtet sind, dass ein mäßiger Zugriff auf diese Binärdatei möglich istSuperuser.apk
.Falsch. Was tatsächlich passiert, ist weitaus einfacher: Superuser bietet eine benutzerdefinierte Implementierung
su
, die den Zugriff über Superuser und seine autorisierte Anwendungsdatenbank authentifiziert.Das Rooten ist also so einfach, wie @Sparx gesagt hat. Die bereitgestellte Software enthält die Magie.
quelle
su
ist selbst überhaupt keine Magie, die einzige Magie daran ist, dass das Betriebssystem es speziell behandelt. Alles, was es tun muss, ist "OK" oder "Nicht OK" zurückzugeben, wenn das Betriebssystem fragt, ob eine bestimmte Anwendung die Berechtigungen erhöhen darf. Wenn es fehlt oder immer "Nicht OK" zurückgibt, können normale Apps niemals root werden. Das Rooten ist also im Grunde der Vorgang des Platzierens einersu
Binärdatei, die manchmal "OK" zurückgibt, an der geschützten Stelle auf einem System, auf dem dies nicht möglich sein soll.all that has to do is put the su and Superuser.apk binaries in the right place and set their permissions
als ob dies ohne einen Exploit einfach wäre, der Exploit ist die Magie.