Um eine privilegierte Shell zu erhalten, müssen Sie die folgenden Zeilen an die angegebenen Werte in der Datei default.prop anpassen: ro.secure = 0
ro.debuggable = 1
persist.service.adb.enable = 1
Ich habe das Wiederherstellungs-Image meines Telefonmodells extrahiert: So ist es möglich, die folgenden Werte in der Datei default.prop zu ändern, das Image neu zu packen und mit Fastboot zu flashen (der Bootloader ist entsperrt), um eine privilegierte Shell zu erhalten, und dann zu kopieren die su binär nach dem erneuten Einhängen des Systems als Lese / Schreibzugriff?
Muss ich andere Werte in einer der Dateien ändern? Und wird es zumindest theoretisch funktionieren?
Antworten:
Dieser Ansatz wird funktionieren (vorausgesetzt, es gibt nirgendwo proprietäre lustige Sperren), aber die Wiederherstellungspartition ist von Anfang an keine Partei. Die Datei default.prop wird beim Booten überschrieben und von der Bootpartition kopiert, die kein direkt zugängliches Dateisystem ist. Sie benötigen ein Image der Boot-Partition, das Sie dann entpacken, ändern und neu packen.
Angenommen, Sie wissen, wie Sie all das tun sollen (da Sie sagen, Sie haben es mit der Wiederherstellung versucht), muss ich Sie vorher warnen, dass es häufig erforderlich ist, die Basisadresse anzugeben, wenn Sie das Image mit mkbootimg erstellen. Es gibt keine Möglichkeit zu wissen, wann dies erforderlich ist, daher ist es sicher, immer eine Basisadresse anzugeben. Sie können einem Tutorial hier folgen:
www.freeyourandroid.com/guide/extract-edit-repack-boot-img-windows
Das Skript enthält den Befehl od, mit dem Sie die Basisadresse abrufen können, falls Sie Ihr eigenes Skript erstellen möchten. Weitere Informationen zu den manuellen Schritten (zum Reproduzieren unter GNU / Linux):
android-dls.com/wiki/index.php?title=HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images
Ich empfehle nicht, die Skripte zum Auspacken / Umpacken zu verwenden, da sie fest codierte Zeilen haben, die nicht zwischen Fällen übertragbar sind. Verwenden Sie split_bootimg.pl, extrahieren Sie es dann mit gunzip und cpio. Danach verwenden Sie wieder cpio und gzip, gefolgt vom Befehl mkbootimg. Die einzige Ausnahme ist für MTK65xx-Geräte, bei denen Sie die entsprechenden Entpackungs- / Neuverpackungswerkzeuge benötigen (da sie sehr unterschiedliche Offsets haben; Sie überspringen auch mkbootimg, da das Neuverpackungsskript dies für Sie erledigt):
github.com/bgcngm/mtk-tools
Und hier ist ein aktuelles Beispiel für ein chinesisches Telefon mit neuem Markennamen, das das Gleiche durchläuft, um endlich Fuß zu fassen:
forum.xda-developers.com/showthread.php?t=1818146&page=5
Es tut mir leid, dass ich die richtigen Links entfernen muss, aber ich werde anscheinend als potenzieller Spam angesehen. Außerdem war ich nicht sehr gründlich, weil ich nicht wirklich sicher bin, ob Sie mehr Ausführlichkeit wünschen.
quelle
Der obige Ansatz schien nicht zu funktionieren.
Entweder, weil die Wiederherstellung des Bestands nicht für das Gerät bestimmt war oder weil die Methode nicht so einfach ist und möglicherweise andere Änderungen erforderlich sind. Das Telefon wechselt nicht in den Wiederherstellungsmodus. Dies ist der einzige Modus, in dem Sie eine privilegierte Shell erhalten, um die erforderlichen Vorgänge auszuführen, um einen dauerhaften Stamm zu erhalten.
Eine andere Methode wäre, die build.prop im Boot - Image zu ändern , selbst, umpacken und dann und blinken adb eine privilegierte Shell im normalen Betriebsmodus zu erhalten.
Befolgen Sie besser die Vorgehensweise eines anderen, wenn Sie sich nicht sicher sind.
quelle