Superuser zeigt keine Eingabeaufforderung an

Zunächst muss ich sagen, dass ich weiß, dass dieses Thema schon oft diskutiert wurde, aber keine der Antworten hat geholfen, und ich denke, diese Frage ist etwas anders als die anderen.

Ich habe versucht, mein Android 4.2.1-Telefon mit verschiedenen automatischen Methoden zu rooten, bei denen alle fehlgeschlagen sind. Auch das Rooten update.zipfunktioniert aufgrund des Fehlers „Invalid OTA, missing scatter“ nicht.

Ich kann jedoch mit adb rootdem Befehl " " Root-Zugriff erhalten, also habe ich versucht, mein Telefon manuell zu rooten:

  • ' adb root' und ' adb remount' Befehle, um Zugriff auf die Systempartition zu erhalten
  • Heruntergeladene neueste su-Binärdatei (Version 3.1.1)
  • schob es auf ' /system/xbin/su'
  • suid- und sgid-Bit setzen: 'chmod 6755 su'--> ls -lzeigt an'-rwsr-sr-x root root 380532 2008-02-29 02:33 su'
  • verknüpft ' /system/xbin/su' mit ' /system/bin/su'
  • neusten Superuser von Google Play installiert (3.1.3)
  • installierte busybox (obwohl dies nicht notwendig ist, wenn ich das richtig verstehe?)

Jetzt wird es interessant:
Wenn ich in mein Telefon „ “ gehe, kann ich den Befehl „ “ adb shellverwenden und bekomme automatisch Root-Rechte ($ wird zu # und ich kann auf die Dateien von Root zugreifen), und es wird in der Superuser-App mit dem Urheber als „Shell“ angemeldet. su. ABER wenn ich eine Anwendung versuche, die Root benötigt, dauert es lange (10 Sekunden) und schlägt dann fehl (ich habe 'Root Checker Basic' aus dem Store ausprobiert).

Die Superuser-App zeigt nie ein Popup, auch ist es nicht im Protokoll. Es scheint, dass es automatisch alle Anfragen ablehnt.

Hier also meine Frage: Habe ich alle Schritte richtig gemacht? (vielleicht übersehe ich etwas sehr wichtiges)

Ich bin gerade ziemlich verzweifelt (habe fast zwei ganze Tage damit verbracht, dies zu erledigen), also würde ich sogar auf Lösungen zurückgreifen, wie das Bearbeiten einiger Superuser-Konfigurationsdateien und das manuelle Aktivieren des Root-Zugriffs für die App.

PS: Wenn Sie zusätzliche Informationen benötigen, fragen Sie einfach, ich werde versuchen, Informationen nach Möglichkeit zu füllen

Weitere Untersuchung:

  • Das Setzen von Auto-Allow im Superuser funktioniert auch nicht
  • Ausführen suvom Terminal löst Ausnahme aus: java.lang.SecurityException: Broadcast fragt nach Ausführung als Benutzer -1, ruft aber von Benutzer 0 auf; dies erfordert android.permission.INTERACT_ACROSS_USERS_FULL oder android.permission.INTERACT_ACROSS_USERS. Also muss ich diese Berechtigung irgendwo setzen.
Ich bin mir nicht 100% sicher, aber sollte das nicht suEigentum von sein system:system? AFAIK gibt es auf Android-Geräten keinen Benutzer "root" (daher die "ungültige" negative Benutzer-ID, denke ich). Vielleicht versuchst du es chown system:system /system/xbin/suund schaust, ob das der Trick ist. Bitte melden Sie sich zurück: wenn es funktioniert, werde ich dies zu einer Antwort machen.
@Izzy Also habe ich Ihren Vorschlag mit verschiedenen Konten, System, Root, -1, Zufallszahlen ausprobiert ... Und es ist seltsam - es schlägt immer mit der gleichen Ausnahme fehl, einschließlich des "Anrufs von Benutzer 0". Suid- und Sgid-Bits waren korrekt (dreifach überprüft).
uid 0 ist der privilegierteste Benutzer (root unter Linux), daher sieht das "Aufrufen von" gut aus. Sie können versuchen, welcher Benutzer zu dieser ID gehört, indem Sie sie "verklagen" und den idBefehl ausgeben. // Übrigens, ich habe gerade auf einem meiner Geräte nachgesehen und muss meine vorherige Vermutung zurücknehmen: suwird als angezeigt -rwsr-sr-x root root, nur die Größe unterscheidet sich ( 104800 2013-12-31 23:32 suauf meinem ICS-Gerät). Vielleicht hat Ihr Superuser ein Problem? Check ls -l /system/app/Super*, meins gibt mir -rw-r--r-- root root 570342 2012-01-01 04:41 Superuser.apk.
@Izzy Interessant. Also verwende ich vielleicht falsche oder veraltete su. Ich habe mehrere 3 oder 4 Versionen ausprobiert und keine passte in der Größe. Könnten Sie bitte su -vnach seiner Version suchen? Und welche SuperuserApp verwendest du (also von wem)?
Ich verwende SuperSu (und die Ausgabe ist 1.86:SUPERSU) auf einem 4.0.3 LG O4X hier (das ist das Gerät, das ich überprüft habe). AFAIR Ich habe den Superuser von Chainfire auf meinen anderen Geräten.

Antworten (1)

Izzys Kommentare führen mich zum richtigen Pfad, also habe ich es geschafft, das Gerät zu rooten. Wenn jemand anderes das gleiche Problem hat (Auto-Root-Programme funktionieren nicht, aber Sie können mit adb root auf das Gerät zugreifen), finden Sie hier eine vollständige Anleitung zum manuellen Rooten Ihres Telefons:

  1. Installieren Sie Superuservon ClockworkMod auf Google Play direkt auf Ihrem Telefon
  2. Bereiten Sie adb als root vor und machen Sie /systembeschreibbar: adb kill-server, adb root, adb remount(Sie müssen möglicherweise adb.exeim Task-Manager beenden, wenn es hängt)
  3. Ziehen Sie die gerade heruntergeladene APK auf Ihren Computer: adb pull /data/app/com.koushikdutta.superuser-1.apk( Hinweis: Sie kann in Zukunft einen anderen Namen haben)
  4. Auf Ihrem PC: Öffnen Sie die apk mit zip (z. B. umbenennen Sie die Erweiterung in .zipoder verwenden Sie WinRar)
  5. Kopieren Sie von zip system\bin\suin Ihr Arbeitsverzeichnis
  6. Drücken Sie es auf Ihr Telefon:adb push su /system/xbin/su
  7. Stellen Sie sicher, dass der Eigentümer root ist:adb shell chown root:root /system/xbin/su
  8. Setzen Sie die SUID- und SGID-Bits in der Binärdatei:adb shell chmod 06755 /system/xbin/su
  9. Telefon neustarten:adb reboot
  10. Versuchen Sie es suvon adb: adb shell, su; Die Eingabeaufforderung sollte sich von $ zu # ändern
  11. Probieren Sie es suvom Telefon aus: Installieren Sie das Terminal und verwenden Sie den Befehl suoder verwenden Sie ihn Root Checker Basicaus dem Geschäft
  12. Wenn suvon adb funktioniert, aber nicht vom Telefon aus, wiederholen Sie den gesamten Vorgang von 1, aber laden Sie eine andere SuperuserAnwendung vom Markt herunter (zum Beispiel hat die Version von ChainsDD bei mir nicht funktioniert).