root in Linux (oder einem anderen Unix-ähnlichen System) ist nur der Benutzer mit der Benutzer-ID 0. Das Programm su (das eigentlich für "Switch User" und nicht für "Super User" steht) ist nur ein Programm zum Starten eines anderen Programms mit einem anderen Benutzer-ID als das Startprogramm (standardmäßig UID 0, dh Benutzer root). Android verwendet nicht das traditionelle / etc / passwd, verwendet jedoch weiterhin die Linux-Benutzer-ID und -Gruppen-ID zum Verwalten von Berechtigungen.
Wenn Sie su-Anfragen abfangen möchten, um nach einem Passwort zu fragen oder andere Regeln durchzusetzen, müssen Sie / sbin / su durch Ihre eigene Version von su ersetzen. Ein alternativer Ansatz ist der hier beschriebene: http://www.koushikdutta.com/2008/11/fixing-su-security-hole-on-modified.html. Dies setzt jedoch voraus, dass Anwendungen zusammenarbeiten, indem sie einen Intent auslösen, wenn sie dies möchten Benutzer wechseln.
Das Android-Sicherheitsframework sieht ungefähr so aus: Jede installierte Anwendung wird mit einer eigenen Benutzer-ID ausgeführt (bei der Installation ausgewählt), und die Anwendungsberechtigungen werden als Benutzergruppen implementiert.
Kann ich das root-Passwort ändern, nachdem ich mein Android-Gerät gerootet habe, indem ich einfach "passwd" eingebe?
Android verwendet / etc / passwd nicht und hat daher auch kein passwd
Programm.
Wie funktioniert der Rooting-Prozess? Ich meine, was macht die "One-Click-Root" -Apps mit meinem Handy?
Ich bin mir nicht sicher, welchen Prozess ich genau ausführen soll, wahrscheinlich möchten Sie sich an Rooting-Entwickler wenden. Ich vermute jedoch, dass nur die Sicherheitsüberprüfung zurückgesetzt wird, die ursprünglich verhindert, dass der Entwickler die Setuid 0 setzt.
Und ich bin ein Entwickler. Wie finde ich versteckte APIs (wie iOS) für die Entwicklung von Root-Apps?
Da Android Open Source ist, gibt es in Android keine wirklich versteckte API. Es gibt jedoch einige nicht veröffentlichte oder nicht dokumentierte APIs, nach denen Sie im Quellcode von Android suchen können . Bei diesen APIs handelt es sich jedoch nicht um Stammentwicklungen. In der Regel handelt es sich um APIs, die sich in der Entwicklung befinden und noch nicht fertig sind oder zu lokal für einen bestimmten Zweck sind, der für öffentliche Entwickler nicht nützlich ist (oder deren Nützlichkeit Google möglicherweise noch nicht erkannt hat). . Sie können diese APIs nicht verwenden. Da es sich jedoch nicht um offiziell unterstützte APIs handelt, können sie in Zukunft verschwinden oder die Abwärtskompatibilität beeinträchtigen. Wenn Sie diese APIs verwenden müssen, stellen Sie sicher, dass Ihre App ordnungsgemäß funktioniert.