Kann ich die Adb-Shell als root ausführen, ohne etwas einzugeben su
? Ich möchte in der Lage sein, root-Zugriff zu haben, ohne in die Shell zu gehen.
quelle
Kann ich die Adb-Shell als root ausführen, ohne etwas einzugeben su
? Ich möchte in der Lage sein, root-Zugriff zu haben, ohne in die Shell zu gehen.
Wenn ich Ihre Frage richtig verstehe, werden Sie gefragt, wie Sie beim Ausführen automatisch Root-Zugriff erhalten adb shell
, damit Sie nicht in die Shell gehen und su
einen Befehl eingeben müssen, um als Root auf Ihrem Telefon ausgeführt zu werden.
Dies wird durch ein Flag in Ihrer Startpartition gesteuert, das von den meisten benutzerdefinierten ROMs so geändert wurde, dass standardmäßig Root-Berechtigungen gewährt werden. Wenn Sie $
bei der Verwendung auf a fallen gelassen werden, stehen adb shell
Ihnen zwei permanente und eine temporäre Option zur Verfügung (temporär bedeutet, dass es beim Neustart nicht funktioniert):
adbd
auf Ihrem Gerät mit Root-Berechtigungen neuNummer 2 ist eigentlich nicht so schwer, aber es kann etwas gefährlich sein, wenn Sie nachlässig sind. Es gibt hier einen Wiki-Artikel , der den Vorgang erklärt und ein paar Perl-Skripte enthält, die Ihnen helfen sollen. Diese Anweisungen setzen eine Linux / Unix-Umgebung voraus. Ich habe diese Anweisungen persönlich unter Fedora Linux verwendet und kann Ihnen mitteilen, dass sie funktionieren, aber ich kenne keine anderen * nix-Umgebungen wie Macs. Ich kenne auch keine ähnlichen Windows-Anweisungen, aber ich könnte versuchen, einige aufzuspüren, wenn Sie unter Windows arbeiten. Die genauen Befehle sind von Telefon zu Telefon unterschiedlich, da verschiedene Geräte unterschiedliche Partitionstabellen verwenden.
Allgemein gesprochen, obwohl, müssen Sie Ihren aktuellen boot.img von Ihrem Telefon ziehen, entpacken, extrahieren Sie die RAM - Disk, und finden Sie die default.prop Datei. Dies ist eine Klartextdatei, die Sie in einem Texteditor öffnen und dann die Zeile finden müssen, die den Wert enthält ro.secure
. Wenn in der Zeile steht ro.secure=1
, müssen Sie dies in ändern ro.secure=0
. Danach können Sie die Ramdisk und die boot.img neu packen und dann auf Ihr Telefon flashen. Nach dem Neustart werden Sie #
jedes Mal, wenn Sie einen Vorgang ausführen adb shell
, mit einer Eingabeaufforderung begrüßt , ohne dass Sie ihn ausführen müssen su
.
Wenn Sie ein benutzerdefiniertes ROM verwenden, das diese Änderung jedoch nicht aufweist, können Sie das ROM einfach dekomprimieren und die darin enthaltene Datei boot.img mithilfe der obigen Schritte ändern. Anschließend können Sie das ROM mit der neu geänderten Datei boot.img komprimieren und die komprimierte Datei wie gewohnt flashen.
Dies ist wahrscheinlich selbstverständlich, aber seien Sie vorsichtig, wenn Sie dies tun. Wenn Sie mit Ihrer Boot-Partition spielen, kann dies Ihr Telefon zerstören und Sie zur Wiederherstellung über HBoot zwingen. Ich würde empfehlen, Fastboot zu testen, um sicherzustellen, dass Sie erweiterte Fastboot-Befehle verwenden und eine Wiederherstellung durchführen können. Dies hängt ein wenig von Ihrem Modell ab, aber die meisten Telefone verfügen über eine Art Desktop-Software, mit der das Telefon auch neu gestartet werden kann.
Die dritte Möglichkeit ist, dass in vielen Fällen ein Neustart adbd
auf Ihrem Gerät mit Root-Rechten möglich ist. Eine Möglichkeit ist die Ausführung adb root
von einem PC-Terminal aus, obwohl dies nicht für alle ROM-Konfigurationen funktioniert (das ROM muss als "userdebug" erstellt werden). Sie können auch die unsichere Chainfire-App ausprobieren . Dies wird auch nach einem Neustart nicht so bleiben. Sie müssten daher entweder die App verwenden oder adb root
das Telefon bei jedem Neustart erneut starten.
adbd
standardmäßig nur , Root- Rechte auf dem Telefon zu haben. Es gibt einen Beitrag von einem Mitglied des Android-Teams, der dies impliziert, aber nicht explizit sagt. Diese Übergabe an das AOSP impliziert auch, dass es sich lediglich um ein Flag handelt, dasadbd
beim Start überprüft wird (ich sehe es an keiner anderen Stelle in der Quelle). Wie ich bereits erwähnt habe, hat die Mehrheit der benutzerdefinierten ROMs, die ich gesehen habe (einschließlich CM), denadb root
Habe gerade den Befehl entdeckt, adbd im Auto-Su-Modus neu zu starten, anscheinend hängt er davon ab. Ich glaube, Sie hatten Recht damit, dass es nur eine Flagge ist.// ... except we allow running as root in userdebug builds if the service.adb.root property has been set by the "adb root" command"
. So funktionierte übrigens die erste Version von BurritoRoot für den Kindle Fire, IIRC.Wenn Ihr Telefon gerootet ist, können Sie Befehle mit dem Befehl "su -c" ausführen.
Hier ist ein Beispiel für einen cat-Befehl in der Datei build.prop, mit dem Produktinformationen für Telefone abgerufen werden können.
Dies ruft die Root-Berechtigung auf und führt den Befehl innerhalb des '' aus.
Beachten Sie die 5 End-Anführungszeichen, die erforderlich sind, damit Sie ALLE Ihre End-Anführungszeichen schließen. Andernfalls wird eine Fehlermeldung angezeigt.
Zur Verdeutlichung ist das Format so.
Stellen Sie sicher, dass Sie den Befehl GENAU so eingeben, wie Sie es normalerweise tun würden, wenn Sie ihn in der Shell ausführen.
Probieren Sie es aus, ich hoffe, das hilft.
quelle
Installieren Sie einfach adbd Insecure .
quelle
Wofür versuchst du als root zu laufen? Sie sagen, dass Sie die ADB-Shell mit root ausführen möchten, aber nicht die ADB-Shell verwenden möchten? Könntest Du das erläutern?
Wenn die Anwendung den Root-Zugriff anfordert, sollte die SuperUser-Anwendung auf Ihrem Telefon die Erlaubnis erteilen oder nicht. Der Prozess, in dem Sie Ihr Telefon gerootet haben, sollte eine SuperUser-Anwendung enthalten haben.
quelle
adb shell ps
oderadb shell
und dannps
die Liste der ausgeführten Prozesse abrufen. Für einige Dinge ist Root-Zugriff erforderlich. Ich möchte in der Lage sein, Ersteres zu tun.Alternativ können Sie Ihr Skript am Telefon schreiben und es einfach von adb ausführen lassen, zum Beispiel:
Das Skript kann sich ohne Ihr Eingreifen selbst erhöhen (vorausgesetzt, SuperUser merkt sich die Genehmigung), zum Beispiel:
Ich habe dies nur mit Erfolg auf meinem Telefon gemacht. Das einzige Problem war, dass ich nicht genau herausgefunden habe, wie ich die AdB-Shell-Sitzung sauber beenden kann. Ich muss Strg-C in meiner Windows-Shell drücken, um zur Windows-Eingabeaufforderung zurückzukehren. Andernfalls sitzt adb nur an der
#
Eingabeaufforderung und akzeptiert keine Eingaben.quelle
Ich benutze für die Reparatur Home Button Problem Fehler
adb Geräte
adb shell su -c
commands
oder
ADB-Root-Shell sqlite3 /data/data/com.android.providers.settings/databases/settings.db "INSERT INTO secure (Name, Wert) VALUES ('device_provisioned', '1');"
adb kill-server
quelle
Sie können auch das suid-Bit auf Ihr "sh" setzen. Ich verwende BusyBox, daher stimmen die Anweisungen möglicherweise nicht mit Ihrem Setup überein:
-rwsr-xr-x Root-Shell 157520 2012-11-10 09:54 mksh (beachte, dass das suid-Bit gesetzt ist)
und Sie sollten die root-Eingabeaufforderung haben
quelle
mksh
Betreuer.)