Hilfe! /system/bin/sh in sh.old.bak umbenannt, Root verloren, kann nicht umbenannt werden, kein Nandroid-Backup

Ich habe heute etwas unglaublich Dummes getan. Ich habe /system/bin/sh auf meinem gerooteten Huawei y536a1 mit 4.4.3 KK in /system/bin/sh.old.bak umbenannt. Ich wollte eine App installieren, von der ich dachte, dass sie sie überschreiben könnte, und wollte ein Backup. Ich wollte es an eine andere Stelle im Pfad kopieren oder verlinken und dann in bin umbenennen. In meiner Eile habe ich es einfach umbenannt und konnte die App nicht ohne Shell installieren, verlor Root und eliminierte somit jede einfache Methode, die ich zur Behebung kenne. Ich habe mit Kingroot (nicht Kingo) gerootet, weil ich derzeit keinen Computer habe. Ich habe kein System-Backup, Dummkopf, ich weiß. Ich habe die ursprüngliche werkseitige .img-Datei, eine vorinstallierte .img-Datei (die einzige Möglichkeit, eine Wiederherstellung ordnungsgemäß zu rooten und zu installieren), eine Twrp-Wiederherstellung und einen Code zum Entsperren des Bootloaders. Da ich keinen Computer hatte, benutzte ich Kingroot. Das Telefon ist noch funktionsfähig. Leider weiß ich nicht was ich jetzt machen soll. Ich habe (offensichtlich) begrenzte Linux-Kenntnisse. Ich habe Angst vor einem Neustart, ohne zu wissen, was passieren wird. Ich kann Zugang zu einem Computer bekommen. Die Datei muss umbenannt werden, aber ich habe den Schreibzugriff auf das System verloren. Gibt es trotzdem die Möglichkeit, adb zu verwenden, um eine andere Datei dort umzubenennen oder zu verschieben, oder durch einen Neustart in die Wiederherstellung zu beheben? Ich würde eine Lösung bevorzugen, die mein Telefon nicht löscht, aber mir ist klar, dass meine Möglichkeiten ziemlich begrenzt sind. Ich weiß nicht einmal, ob ein Zurücksetzen auf die Werkseinstellungen oder das Flashen eines der Bilder funktioniert. Jede Hilfe / Beratung wird sehr geschätzt. oder durch Neustart in die Wiederherstellung beheben? Ich würde eine Lösung bevorzugen, die mein Telefon nicht löscht, aber mir ist klar, dass meine Möglichkeiten ziemlich begrenzt sind. Ich weiß nicht einmal, ob ein Zurücksetzen auf die Werkseinstellungen oder das Flashen eines der Bilder funktioniert. Jede Hilfe / Beratung wird sehr geschätzt. oder durch Neustart in die Wiederherstellung beheben? Ich würde eine Lösung bevorzugen, die mein Telefon nicht löscht, aber mir ist klar, dass meine Möglichkeiten ziemlich begrenzt sind. Ich weiß nicht einmal, ob ein Zurücksetzen auf die Werkseinstellungen oder das Flashen eines der Bilder funktioniert. Jede Hilfe / Beratung wird sehr geschätzt.

Booten Sie in TWRP, mounten Sie die Systempartition: Verwenden Sie entweder die Konsole, um die Datei umzubenennen, oder verwenden Sie den Dateibrowser von TWRP, um zu /system/bin zu gehen, wählen Sie die Datei aus und benennen Sie sie um. Sie können dort auch den Aroma File Manager verwenden.
Entschuldigung, ich hätte mich deutlicher ausdrücken sollen. Ich habe die TWRP-Datei, aber nicht installiert, da Sie meines Wissens nach über ADB rooten mussten, um TWRP zu installieren.
Nein, das ist eine unnötige Komplikation, an die Sie denken. Ich sehe , dass Ihr Gerät das Flashen von Fastboot unterstützt. Sie können Fastboot verwenden, um mit Ihrem PC zu flashen oder direkt in TWRP zu booten. Keine Notwendigkeit für root. Sobald Sie in TWRP sind, folgen Sie meinem ersten Kommentar. // Ein Vorbehalt : Wenn der Bootloader noch nicht entsperrt ist, müssen Sie ihn entsperren, und das würde zu einer vollständigen Datenlöschung führen (ähnlich einem vollständigen Zurücksetzen auf die Werkseinstellungen).
Da @Firelord sagte, dass Ihr Telefon das Flashen von Fastboot unterstützt, werde ich Ihnen sagen, wie Sie ein kleines, flashbares Paket schreiben, um sh.old.bak umzubenennen .
@Firelord, danke für die Info. Ich hatte Angst, dass ich den Bootloader entsperren und dabei löschen müsste.

Antworten (1)

Ich werde Sie nun durch das Verfahren zum Schreiben einer benutzerdefinierten flashbaren ZIP führen, um Ihre sh.old.bak umzubenennen . Erstellen Sie zunächst den folgenden Ordnerbaum:

/META-INF/com/google/android

Wechseln Sie nach dem Erstellen in den Android- Ordner und erstellen Sie die folgenden neuen Dateien. Stellen Sie sicher, dass sie keine Erweiterung an ihrem Ende haben :

  • Updater-Skript
  • update-binary

Lassen Sie das erste leer und bearbeiten Sie die Update-Binärdatei wie folgt:

#!/sbin/sh
mount /system
mount -o remount,rw /system
mv /system/bin/sh.old.bak /system/bin/sh
umount /system

Speichern Sie diesen Inhalt (in der Update-Binärdatei ), öffnen Sie Ihr bevorzugtes ZIP-Tool und erstellen Sie ein komprimiertes Archiv aus dem META-INF- Ordner. Sein Inhalt sollte automatisch enthalten sein. Achten Sie darauf, dass der Archivtyp auf ZIP eingestellt ist und wählen Sie eine möglichst geringe Komprimierungsstufe .

Flashen Sie schließlich dieses Skript auf Ihr Gerät mit:

fastboot update name_of_your_zip.zip

Wie zu erraten ist, sollte der dritte Parameter der Name (und Pfad) der von Ihnen erstellten ZIP-Datei sein. Kurz gesagt, die ZIP-Datei sollte die /system -Partition im Lese-Schreib-Modus einhängen, Ihre sh.old.bak in sh umbenennen und die /system -Partition aushängen.

Natürlich ist meine Antwort zu befolgen, falls Ihr Bootloader entsperrt ist, wie @Firelord betonte.
Tut mir leid, dass ich nicht früher antworten und dir etwas Zeit ersparen konnte, aber ich habe den Bootloader nicht entsperrt und bin mir ziemlich sicher, dass er immer noch gesperrt ist. Ich werde sicherlich Ihr hervorragend aussehendes Skript verwenden, wenn dies der Fall ist. Leider denke ich, dass ich es entsperren und mein Telefon löschen muss. Positiv ist, dass ich jetzt richtig rooten und vollständige Backups erstellen kann. Danke für dein Skript und deine Hilfe. Daran werde ich heute Abend arbeiten. Firelord – Death Mask Salesman, danke euch beiden für eure Hilfe, ich weiß das sehr zu schätzen. -JC
@user156418 Wenn Sie den Bootloader jetzt nicht entsperren möchten und rooten können, suchen Sie sich am besten einen Root-Explorer (versuchen Sie es mit der Root-Browser- App). Sobald Sie mit Superuser-Rechten ausgestattet sind, können Sie zu /system/bin navigieren und Ihre Datei umbenennen.
Ich habe immer noch die ursprüngliche App, die mein Telefon gerootet hat, installiert, da es sich auch um die Superuser-Anwendung (Kingroot) handelt. Ich habe auch Root-Browser und es Explorer mit Root-Dateimanager. Ich mache mir Sorgen, dass ein so wichtiges Prg wie "sh" das Risiko eingeht, mein Telefon zu blockieren, wenn ich versuche, es neu zu rooten. Nachdem ich "sh" umbenannt hatte, verlor ich sofort zum ersten Mal überhaupt die Wurzel. Ich weiß nicht genug über Android / Linux, um zu wissen, ob das funktionieren würde oder nicht. Irgendwelche Gedanken?
@user156418 Können Sie im Moment die /system-Partition durchsuchen? Wenn ja, suchen Sie im Verzeichnis /system/xbin nach der su- Binärdatei . Wenn die Datei vorhanden ist, laden Sie Busybox aus dem Play Store herunter und installieren Sie es (und seine Binärdateien aus der App). Es funktioniert als Ersatz für das Haupt -sh , sodass Sie das echte wiederherstellen können.
Ich habe festgestellt, dass ich eine teilweise Wurzel habe. Ich habe bereits versucht, busybox neu zu installieren, ohne Erfolg. Mein aktuelles bb zeigt kein "sh"-Applet an. Ich werde einige andere sowie verschiedene Root-Browser ausprobieren. Danke