Auf meinem gerooteten Gerät mit Android 4.2.2 habe ich folgende Tools installiert:
Im Terminal-Emulator su
ändert der Befehl den Benutzer erfolgreich in einen echten Root:
root@hwH30-U10:/ # id -u
uid=0(root) gid=0(root)
Dann ich remount
/system
als R/W
:
root@hwH30-U10:/ # mount | grep system
/emmc@android /system ext4 rw,realtime,noauto_da_alloc,commit=1,data=ordered 0 0
Dann habe ich sogar:
root@hwH30-U10:/ # chmod 777 /system
Aber ich kann nichts ändern zB Berechtigungen oder Inhalte von /system
Originaldateien wie /system/build.prop
!
Ich bin mir sicher, dass Berechtigungen und Bereitstellungen in Ordnung sind, da ich eine neue Datei erstellen /system/tmp.prop
, deren Inhalt und Berechtigungen per Terminal-Emulator ändern kann.
Ich habe wirklich keine Ahnung, warum diese Operationen nicht erlaubt sind, während aus Linux-Sicht alle Dinge für root in Ordnung sind, um diese Änderungen vorzunehmen!
Gibt es einen fest codierten weiteren Schutz in Android, zB im Kernel?
Wie kann man das bitte herausfinden?
Basierend auf meinem Kommentar und Yassers nachfolgendem Kommentar kann ich schließen, dass das Problem das unveränderliche Attribut war, das in der Datei build.prop festgelegt wurde. Wenn andere Dateien und Verzeichnisse ebenfalls nicht bearbeitet oder gelöscht werden können, haben sie möglicherweise auch das gleiche Attribut oder Nur-Anhänge-Attribut.
Die Abhilfe besteht darin, diesen Befehl mit Root-Rechten zu verwenden:
chattr -i FILE_PATH # FILE_PATH is the file which currently has immutable attribute
Verwenden Sie -iR
gefolgt von einem Verzeichnispfad, um unveränderliche Attribute rekursiv aus einem Verzeichnis zu entfernen.
Es ist zu beachten, dass auf OP bereits busybox installiert ist. chattr
und lsattr
sind nicht die Dienstprogramme, die nativ in Android zu finden sind.
Relevante Informationen zum verwendeten Chattr-Befehl und zum Nur-Anhängen-Attribut finden Sie in meiner Antwort hier .
Tamoghna Chowdhury
chmod
? Haben Sie eine Root-Explorer-App wie ES File Explorer im Root-Modus ausprobiert, um die Dateiberechtigungen zu ändern? Was ist Ihre Root-Management-App und Android-Version?Tamoghna Chowdhury
Jassir Zamani
chmod
sagtOperation not permitted
. und ja, ES File Explorer im Root-Modus, FileExpert und viele andere Apps können nichts ändern! Meine Root-Management-App istKingRoot
auf Android 4.2.2 (wie ich bereits erwähnt habe,id -u
sagtTerminal Emulator
mir, dass ich wirklich Root mit der ID 0 bin).Izzy
ls
auf dem Gerät vorhandene Gerät dies unterstützt, aber Sie könnten es mit einem der Parameter-Z
/--context
/--lcontext
/ versuchen--scontext
, um einen potenziellen SELinux-Kontext anzuzeigen.Jassir Zamani
ls -Z
sagen Sie nichts zu irgendeinem Kontext, aber Google sagt, dass SELinux ab Version 4.3 in Android integriert wurde. meine ist 4.2.2.Feuerlord
cp /system/build.prop /system/build.prop.orig
;echo lolcat > /system/build.prop
;cat /system/build.prop
;mv /system/build.prop.orig /system/build.prop
. Ich interessiere mich für die Ausgabe des cat-Befehls.Jassir Zamani
echo lolcat > /system/build.prop
schlägt fehl ,k_shell/10210:17681: can't create /system/build.prop: Permission denied
wie ich vermutet habe.echo lolcat > /system/build.prop.orig
funktioniert! undmv /system/build.prop.orig /system/build.prop
scheitert mitfailed on ' /system/build.prop.orig': Operation not permitted
, wie ich vermutete. Die Ausgabe descat
Befehls ist also nicht interessant; Es ist der ursprüngliche Inhalt.Feuerlord
lsattr /system/build.prop
?Jassir Zamani
lsattr /system/build.prop
ist-----i--A----
, fünf Bindestriche, dann i, dann zwei Bindestriche, dann A und dann vier Bindestriche.Feuerlord
chattr -i /system/build.prop
und versuchen Sie dann diesen Befehl lsattr. Wenn sich die Ausgabe diesmal unterscheidet, versuchen Sie meine lolcat-Befehle und teilen Sie das Ergebnis mit.Jassir Zamani
i
Attributs bewusst, aber unter Linuxvi
kann der Befehl:w!
sogar mit diesem Attribut schreiben, aber es scheint, dass das von BusyBoxvi
nicht möglich ist! trotzdem vielen dank! Wenn Sie möchten, fügen Sie eine Antwort hinzu und ich werde sie als Antwort markieren; Oder ich beantworte meine Frage. Danke noch einmal :)Feuerlord
Jassir Zamani
(add ! to override)
und:w!
konnte schreiben. Aber jetzt habe ich dann eine Datei erstelltchattr +i
und du hast Recht, Attributvi
kann nicht umgangeni
werden! Leider konnte ich mich nicht an frühere Dateien erinnern,lsattr
aber ich bin sicher, dass:w!
dies einige Nachrichten wie lösen könnte(add ! to override)
. Aber ich kann es jetzt nicht reproduzieren.