Was genau ist superuser.apk und su?

32

Ich habe viel über das Rooten von Android-Geräten gelesen. Ich möchte wirklich genau wissen, was bei jedem Schritt vor sich geht, bevor ich mich auf den Prozess einlasse.

Ich bin ein wenig verwirrt, woher die superuser.apk- und su-Dateien kommen. Es sieht nicht so aus, als ob es sich um offizielle Google-Dateien handelt, sondern um Dateien, die von einer (zufälligen) Person erstellt wurden. Wie sicher sind diese Dateien?

Aus der Forschung habe ich ein allgemeines Verständnis für ihren Zweck. Ich habe mich gefragt, ob jemand weiß, was diese Dateien sind (ausführbare Dateien? Skripte?), Was sie enthalten und wie sie im Allgemeinen funktionieren.

Vielen Dank!

kaspnord
quelle
Siehe auch: Wie funktioniert Magisk?
Irfan Latif

Antworten:

32

su(kurz für Switch User) ist eine ausführbare Binärdatei. Es wird von Android und anderen * nix-basierten Systemen verwendet, damit ein Prozess das Benutzerkonto ändern kann, mit dem es verknüpft ist. Vom Standpunkt des Roots aus ist es wichtig, dass suohne andere Parameter zum Root-Benutzer gewechselt wird. Dies bedeutet, dass Prozesse aufgerufen werden müssen, für deren Funktionalität Root-Berechtigungen erforderlich sind su(da sie standardmäßig nicht vom Root- Benutzer ausgeführt werden).

Superuser ist eine Android-Anwendung (.apk ist ein Android-Anwendungspaket). Es funktioniert als eine Art "Gatekeeper" für die suBinärdatei. Anwendungen, die versuchen, sie aufzurufen su, müssen über den Superuser weitergeleitet werden, der den Benutzer dann auffordert, wenn es sich um eine unbekannte oder neue Anwendung handelt. Der Benutzer hat dann die Möglichkeit, den Zugriff auf sudie App zu genehmigen oder zu verweigern, und optional den Superuser zu veranlassen, sich an seine Entscheidung zu erinnern, damit er sie automatisch auf nachfolgende Anrufe dieser App anwenden kann. Auf diese Weise erhält der Benutzer nur für Apps Root-Berechtigungen.

Die Quelle für beide Anwendungen ist auf Github verfügbar und kann von jedem geprüft werden, der sie einsehen möchte (Superuser hier , su hier ).

Weitere Details sowie Änderungsprotokolle finden Sie auf der Superuser-Website .

Weitere verwandte Fragen zu Android-Enthusiasten:

eldarerathis
quelle
1
Ich freue mich sehr über die ausführliche Antwort und die Links! Vielen Dank!
Kaspnord
1
Gibt es Alternativen / Äquivalente zu diesen Dateien für die Zwecke des Android-Roots?
kaspnord
1
@kaspnord: Nein, es suwird dieselbe Datei für andere Linux / Unix-Betriebssysteme verwendet, und es gibt keine Alternativen dazu, aber möglicherweise für superuser.apk. Warum willst du eine Alternative?
kyrias
3
Ich bin nur neugierig, da diese Dateien, obwohl sie von der Open-Source-Community gesegnet wurden, scheinbar keinen Standard haben (dh nicht offiziell von Google). Das führt mich zu der Annahme, dass andere Benutzer andere Varianten derselben Dateien erstellen können. Für mich persönlich möchte ich genau wissen, was ich verwende und in mein Gerät einbaue, anstatt mich auf Lösungen anderer zu verlassen, bei denen ich nicht hundertprozentig sicher sein kann, was die Dateien enthalten.
Kaspnord
11

Der Quellcode für Superuser ist auf github verfügbar, der Hauptautor von Superuser sind Adam Shanks ( ChainsDD ) und Koushik Dutta ( koush , ebenfalls Autor von Clockwork Recovery).

Koushik Dutta erklärte in seinem Blog, wie Superuser.apk funktioniert ; Beachten Sie, dass der Beitrag von der allerersten Inkarnation der Superuser-App an stammt. Viele Dinge haben sich seitdem geändert, und einige der dort geschriebenen sind für die moderne Superuser / su-Implementierung nicht mehr korrekt, aber die Grundlagen sollten immer noch dieselben sein.

Sowohl su als auch Superuser können sicherlich durch Alternativen ersetzt werden, aber es würde nicht viel bewirken, da die von su verwendete Funktion (dh Systemaufrufe exec () und setuid ()) für alle ausführbaren Dateien verfügbar ist, vorausgesetzt, die ausführbare Datei verfügt über die richtige Berechtigungsbits (dh das setuid-Bit ist auf root gesetzt). Im Kern ist su ein sehr einfaches Programm, es erzeugt nur einen Prozess als ein anderer Benutzer. Die eigentliche Sicherheitsüberprüfung wird vom Kernel durchgeführt.

Solange Sie also die offizielle, unveränderte su- und superuser-App erhalten und diese ordnungsgemäß mit der entsprechenden Berechtigung installiert haben, müssen Sie sich keine Sorgen machen. Sie sind Open Source und sicher. Sie können die Quelle überprüfen Code dich bei Github. Es ist jedoch durchaus möglich, einen trojanischen Superuser / su-Binärcode abzurufen. Stellen Sie daher sicher, dass der Superuser / su-Binärcode vertrauenswürdig ist (oder kompilieren Sie den Superuser / su-Binärcode selbst, wenn Sie wirklich paranoid sind).

Lüge Ryan
quelle