Es gibt viele versteckte Fastboot-Befehle auf Ihrem Gerät. Um sie zu finden, müssen wir den Bootloader entleeren und den Inhalt untersuchen!
Bei meinem Bestreben, so viel wie möglich über die Android-Anpassung herauszufinden, habe ich viele obskure, aber dennoch interessante Entdeckungen gemacht. Ich habe Ihnen gezeigt, wie Sie darauf zugreifen können versteckte Menüs auf Ihrem Gerät indem Sie alle versteckten Anwendungsaktivitäten auf Ihrem Telefon durchsuchen. Vor Kurzem habe ich Ihnen gezeigt, wie Sie darauf zugreifen können verstecktes Hardware-Diagnosetool auf bestimmten Smartphones. Nun ist mir klar, dass einige von Ihnen darüber enttäuscht waren, dass Ihr Smartphone im vorherigen Artikel nicht behandelt wurde, und ich entschuldige mich dafür.
Um das auszugleichen, werde ich Sie durch etwas weitaus Fortgeschritteneres und Aufregenderes führen: Löschen Sie den Bootloader Ihres Geräts, um versteckte Fastboot-Befehle zu entdecken. Dieser Leitfaden wurde zwar auf meinem erstellt Nexus 6P
Haftungsausschluss: Solange Sie wissen, was Sie tun, und die Anweisungen entsprechend befolgen können, sollte Ihrem Gerät nichts Schlimmes passieren. Da wir jedoch immer noch mit unseren Gerätepartitionen und dem Bootloader herumspielen, ist nicht abzusehen, was passieren könnte, wenn Sie den falschen Befehl eingeben. Stellen Sie sicher, dass Sie ein Backup außerhalb des Geräts bereithalten!
Vorbereitung
Bevor wir beginnen, gibt es eine wirklich, wirklich wichtige Sache, die wir beachten sollten. Um den Bootloader Ihres Geräts zu extrahieren, Sie benötigen Root-Zugriff auf Ihrem Telefon. Wenn Sie keinen Root-Zugriff haben, können Sie dieses Handbuch zu Bildungszwecken weiterlesen, aber Sie können keinen der erforderlichen Befehle ausführen. Verstanden? Gut. Eine weitere Voraussetzung, die Sie erfüllen müssen, besteht darin, sicherzustellen, dass Ihr Computer über alle erforderlichen Funktionen verfügt Richtige ADB/Fastboot-Treiber. Wenn Sie nicht über die ADB/Fastboot-Binärdateien verfügen, empfehle ich die Installation Minimales ADB und Fastboot aus unseren Foren. Was die Treiber betrifft, können Sie sich die erforderlichen Treiber für Google Nexus-Geräte besorgen Hier und für alle anderen Geräte von Hier. Woher wissen Sie, ob Sie startklar sind? Schließen Sie Ihr Gerät an, aktivieren Sie das USB-Debugging in den Entwicklereinstellungen, öffnen Sie eine Eingabeaufforderung und geben Sie Folgendes ein:
adb devices
Wenn die Seriennummer Ihres Geräts angezeigt wird, haben Sie die richtigen Treiber.
Dumping des Bootloaders
Unser erster Schritt besteht darin, eine Shell auf unserem Gerät zu öffnen, damit wir Befehle über ADB ausführen können. Es ist am besten, Befehle über ADB auszuführen, da wir beim Tippen auf einer virtuellen Tastatur viel anfälliger für Fehler sind und Fehler hier nicht vorkommen sollten. Der erste Befehl, den Sie in Ihrer Eingabeaufforderung ausführen sollten, ist:
adb shell
Wenn sich die Eingabeaufforderung von der Anzeige des ADB-Binärverzeichnisses zur Anzeige des Codenamens für Ihr Android-Gerät ändert, haben Sie die lokale Befehlszeilen-Shell Ihres Geräts erfolgreich aufgerufen. Um nun auf die Partitionen zugreifen zu können, die wir sichern müssen, benötigen Sie Superuser-Zugriff. Geben Sie dazu Folgendes ein:
su
Das Symbol vor dem Codenamen Ihres Geräts sollte sich von ändern $ Zu # Dies zeigt an, dass Sie jetzt Befehle mit erhöhten Rechten ausführen können. Seien Sie jetzt vorsichtig!
Als Nächstes ermitteln wir den genauen Speicherort des Bootloader-Images Ihres Geräts. Um das genaue Verzeichnis zu finden, drucken wir eine Liste aller Partitionen und ihrer Verzeichnisse nach Namen aus und suchen nach einer bestimmten mit dem Namen „ein Stiefel.' Sie müssen zwei Befehle wie folgt eingeben:
cd /dev/block/bootdevice/by-name
ls -all
Wie Sie oben sehen können, wird eine riesige Liste von Partitionsverzeichnissen ausgedruckt. Diese Partitionen sind nach Namen sortiert, sodass wir den Speicherort unserer Bootloader-Partition leicht erkennen können. In meinem Fall der Bootloader 'ein Stiefel' im obigen Bild finden Sie unter /dev/block/mmcblk0p10. Das wird variieren Abhängig von Ihrem Gerät ist es daher wichtig, dass Sie diese Anweisungen befolgen, um das wahre Verzeichnis herauszufinden, in dem sich Ihr Bootloader befindet. Beachten Sie jedoch dieses Verzeichnis, da wir im folgenden Befehl darauf verweisen, um den Bootloader zu sichern:
dd if=/dev/block/{YOUR ABOOT PARTITION} of=/sdcard/aboot.img
Sobald dies erfolgreich ist, sollten Sie eine Datei mit dem Namen „aboot.img' befindet sich im Stammverzeichnis Ihres internen Speichers. Nachdem wir den Bootloader nun gelöscht haben, müssen wir ihn untersuchen, um festzustellen, welche versteckten Befehle wir finden können.
Versteckte Fastboot-Befehle und ihre Verwendung
Möglicherweise kennen Sie einige der gebräuchlicheren Fastboot-Befehle, z Fastboot-Flash oder Fastboot-Boot. Es gibt viele weitere Fastboot-Befehle, die im definiert sind Open-Source-Fastboot-Protokoll. Hier ist eine Liste der Fastboot-Befehle, die auf jedem Gerät mit einem Bootloader verfügbar sind, der auf dem neuesten AOSP-Code basiert:
Was in dieser Liste fehlt, ist Fastboot oem Befehle. Diese Befehle sind Spezifisch an Android-Gerätehersteller, und es gibt nirgendwo eine umfassende Liste oder Dokumentation darüber, welche Fastboot-OEM-Befehle verfügbar sind. Wenn Ihr Gerätehersteller nun so freundlich wäre, einen Fastboot-Befehl bereitzustellen, der alle OEM-Befehle auflistet (versuchen Sie es Fastboot-OEM? und prüfen Sie, ob das funktioniert), dann müssen Sie nichts weiter tun. Wenn es keinen Befehl gibt, der eine Liste der verfügbaren Fastboot-OEM-Befehle ausgibt, müssen Sie eine Liste davon ausdrucken Saiten aus der aboot.img und suchen Sie manuell nach den OEM-Befehlen.
„strings“ ist ein Linux-Befehl, dessen Dokumentation lautet hier verfügbar. Wie Sie sehen, verwende ich persönlich einen Windows-Rechner, also habe ich stattdessen einen verwendet Programm, das „Strings“ von Linux nachahmt. Die Rohausgabe des Befehls „strings“ in einer aboot.img-Datei lautet ziemlich unordentlich, aber wenn Sie einfach STRG+F für „oem“ drücken, sollten Sie finden, was Sie brauchen. Wenn Sie Ihre Suche verfeinern möchten, können Sie diesen Befehl ausprobieren (für die Windows-Version, die ich verlinkt habe):
strings * | findstr /i oem
Für das Nexus 6P habe ich die folgende Liste von Fastboot-OEM-Befehlen zusammengestellt:
fastboot oem unlock-go
fastboot oem frp-unlock
fastboot oem frp-erase
fastboot oem enable reduced-version
fastboot oem device-info
fastboot oem enable-charger-screen
fastboot oem disable-charger-screen
fastboot oem enable-bp-tools
fastboot oem disable-bp-tools
fastboot oem enable-hw-factory
fastboot oem disable-hw-factory
fastboot oem select-display-panel
fastboot oem off-mode-charge enable
fastboot oem off-mode-charge disable
fastboot oem ramdump enable
fastboot oem ramdump disable
fastboot oem uart enable
fastboot oem uart disable
fastboot oem hwdog certify begin
fastboot oem hwdog certify close
fastboot oem get-imei1
fastboot oem get-meid
fastboot oem get-sn
fastboot oem get-bsn
fastboot oem get_verify_boot_status
Seien Sie gewarnt, dass Sie keinen der oben genannten Befehle oder Befehle, die Sie auf Ihrem Gerät entdecken, ausprobieren sollten, es sei denn, Sie sind bereit, das Risiko einzugehen. Es gibt einen Grund, warum diese Befehle dem Benutzer verborgen bleiben.
Abgesehen davon habe ich mir einige nette Verwendungsmöglichkeiten für einige dieser Fastboot-Befehle überlegt, die ich gefunden habe (das mag sein oder auch nicht). auf Ihrem Gerät vorhanden ist, befolgen Sie also die obigen Anweisungen, um dies zu überprüfen!), das für das härteste Android-Gerät geeignet sein sollte Enthusiast. Hier gibt es zwei Befehle, die von praktischem Nutzen sein könnten.
An erster Stelle steht die Fastboot OEM (aktivieren|deaktivieren)-Ladegerät-Bildschirm Befehl. Dadurch wird der Ladebildschirm deaktiviert, der angezeigt wird, wenn Ihr Gerät ausgeschaltet ist. Wenn Sie die grelle Helligkeit des Ladebildschirms bei ausgeschaltetem Telefon nicht mögen, können Sie ihn mit diesem versteckten Fastboot-Befehl deaktivieren!
Als nächstes gibt es das Fastboot OEM Off-Mode-Charge (aktivieren|deaktivieren) Befehl. Dieser Befehl bestimmt, ob sich Ihr Gerät automatisch einschaltet, wenn eine Stromquelle erkannt wird. Standardmäßig ist es auf „Deaktivieren“ eingestellt. Ich gebe zu, dass dieser Befehl für Telefone nicht viel Nutzen hat, aber wenn Wenn Sie planen, Ihr Tablet in das Armaturenbrett Ihres Autos einzubauen, werden Sie diesen Befehl unglaublich finden nützlich. Sie können Ihr Gerät so einstellen, dass es sich sofort einschaltet, wenn das Tablet mit Strom versorgt wird, beispielsweise wenn die Autobatterie startet. Umgekehrt ist es ganz einfach, das Tablet bei einem Stromausfall mithilfe einer Automatisierungs-App wie Tasker herunterzufahren. Dieser Befehl funktioniert übrigens genau so, wie es auf dem beschrieben ist Nexus 7 (2013).
Das ist alles für diese Lektion zur Android-Anpassbarkeit. Teilen Sie die Befehle, die Sie entdecken (idealerweise in einem Pastebin-Link), in den Kommentaren unten!
Vielen Dank an XDA Senior Recognised Developer Dees_Troy für seine Unterstützung bei der Erstellung dieses Artikels!