Stamm erhalten durch Ändern von default.prop(ro.secure)?

Um eine privilegierte Shell zu erhalten, müssen Sie die folgenden Zeilen auf die angegebenen Werte in der Datei default.prop ro.secure=0 ändern

ro.debuggable=1

persist.service.adb.enable=1

Ich habe das Wiederherstellungs-Image meines Telefonmodells extrahiert: Ist es also möglich, die folgenden Werte in der Datei default.prop zu ändern, das Image neu zu packen und es mit Fastboot (Bootloader ist entsperrt) zu flashen, um eine privilegierte Shell zu erhalten, und dann zu kopieren die su-Binärdatei nach dem erneuten Mounten des Systems als Lese-/Schreibzugriff?

Muss ich irgendwelche anderen Werte in irgendeiner der Dateien ändern? Und wird es funktionieren, zumindest theoretisch?

Bevor Sie das Rad neu erfinden, haben Sie bei xda-developers nach einer offiziellen Root-Methode für Ihr Gerät gesucht?
Ja, habe ich, es gibt keine "offiziellen" Methoden und ich wollte es einmal selbst machen, es ist ein umbenanntes chinesisches Gerät, also nicht viel Unterstützung dort,
Welches Gerät möchten Sie rooten?
@Flow Karbonn A9/K-Touch W680. Update: Der obige Ansatz hat nicht funktioniert, entweder weil das Image in erster Linie keine Bestandswiederherstellung war oder es nicht so einfach ist. Handy ist jetzt gerootet.
default.prop befindet sich in der Ramdisk, die bei jedem Start "zurückgesetzt" wird
Können Sie verlinken oder erklären, wie Sie die Datei recovery.img oder boot.img vom Telefon extrahieren (ohne bereits Root zu haben)? Danke!
@ user29020 Das ist schon einige Zeit her, ich kann mich nicht erinnern.

Antworten (2)

Dieser Ansatz wird funktionieren (vorausgesetzt, es gibt keine proprietären lustigen Sperren), aber die Wiederherstellungspartition ist von Anfang an nicht beteiligt. Die 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 man das alles macht (da Sie sagen, Sie haben es mit der Wiederherstellung versucht), muss ich davor warnen, dass es oft notwendig ist, die Basisadresse einzuschließen, wenn Sie das Image mit mkbootimg erstellen. Es gibt keine Möglichkeit zu wissen, wann es erforderlich ist, daher ist es sicher, immer eine Basisadresse anzugeben. Hier können Sie einem Tutorial folgen:

www.freeyourandroid.com/guide/extract-edit-repack-boot-img-windows

Das Skript enthält den od-Befehl, mit dem Sie die Basisadresse erhalten können, falls Sie Ihr eigenes Skript erstellen möchten. Weitere Informationen zu den manuellen Schritten (zur Reproduktion unter GNU/Linux):

android-dls.com/wiki/index.php?title=HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images

Ich empfehle die Verwendung der Unpack/Repack-Skripte nicht, da sie fest codierte Zeilen haben, die nicht über Fälle hinweg portierbar sind. Verwenden Sie split_bootimg.pl, dann extrahieren Sie es mit gunzip und cpio, danach verwenden Sie wieder cpio und gzip es, gefolgt vom Befehl mkbootimg. Die einzige Ausnahme bilden MTK65xx-Geräte, bei denen Sie die entsprechenden Tools zum Entpacken/Neupacken benötigen (da sie sehr unterschiedliche Offsets haben; Sie werden auch das mkbootimg überspringen, da das Skript zum Neupacken dies für Sie erledigt):

github.com/bgcngm/mtk-tools

Und hier ist ein laufendes Beispiel für ein chinesisches umbenanntes Telefon, das dasselbe durchmacht, um endlich root zu werden:

forum.xda-developers.com/showthread.php?t=1818146&page=5

Es tut mir leid, dass ich richtige Links entfernen muss, aber ich werde anscheinend als potenzieller Spam betrachtet. Außerdem war ich nicht sehr gründlich, weil ich nicht wirklich sicher bin, ob Sie mehr Ausführlichkeit wünschen.

Können Sie verlinken oder erklären, wie Sie die Datei recovery.img oder boot.img vom Telefon extrahieren (ohne bereits Root zu haben)? Danke!

Der obige Ansatz schien nicht zu funktionieren.

Entweder, weil die eingerichtete Bestandswiederherstellung nicht für das Gerät gedacht war, oder weil die Methode nicht so einfach ist und andere Änderungen erfordern kann. Das Telefon würde nicht in den Wiederherstellungsmodus wechseln, der der einzige Modus ist, in dem Sie eine privilegierte Shell erhalten würden, um die erforderlichen Vorgänge auszuführen, um einen dauerhaften Root zu erhalten.

Eine andere Methode wäre, die build.prop im Boot-Image selbst zu ändern, neu zu packen und dann zu flashen, und adb , um eine privilegierte Shell im normalen Betriebsmodus zu erhalten.

Befolgen Sie besser das Verfahren eines anderen, wenn Sie sich bei Ihrem eigenen nicht sicher sind.

Dies funktioniert nicht, da die ausgelieferte ADB-Version Root nicht unterstützt. (Ich habe die Make-Datei und die ADB-Quelle nachgeschlagen, ich weiß, wovon ich spreche)
@Orri Obwohl dies Jahre später sein kann, bin ich mir ziemlich sicher, dass die unsichere ADBD-App von Chainfire in der Nähe war, als die Antwort veröffentlicht wurde.