Hoe verborgen Fastboot-opdrachten te ontdekken

click fraud protection

Er zijn veel verborgen fastboot-opdrachten op uw apparaat. Om ze te vinden, moeten we de bootloader dumpen en de inhoud onderzoeken!

In mijn zoektocht om zoveel mogelijk over Android-aanpassingen te ontdekken, heb ik veel obscure, maar interessante ontdekkingen gedaan. Ik heb je laten zien hoe je toegang krijgt verborgen menu's op uw apparaat door alle verborgen applicatie-activiteiten op uw telefoon te doorzoeken. Meer recentelijk heb ik je laten zien hoe je toegang krijgt tot de verborgen hardwarediagnosetool op bepaalde smartphones. Nu realiseer ik me dat sommigen van jullie teleurgesteld waren over het feit dat je smartphone niet aan bod kwam in het vorige artikel, en daarvoor bied ik mijn excuses aan.

Om het goed te maken, ga ik je door iets veel, veel geavanceerder en spannender leiden: dump de bootloader van uw apparaat om verborgen fastboot-opdrachten te ontdekken. Deze gids, hoewel gedaan op mijn Nexus6P, is zeker repliceerbaar op de meeste smartphones. Tot welke opdrachten u toegang heeft, varieert echter aanzienlijk tussen apparaten. De meeste commando's zullen je in geen enkele echte situatie echt helpen, maar toch is het behoorlijk interessant om dieper in de instellingen van je telefoon te duiken. Laten we beginnen.

Disclaimer: Zolang u weet wat u doet en de instructies op de juiste manier kunt volgen, mag er niets ergs met uw apparaat gebeuren. Maar we zijn nog steeds aan het rommelen met onze apparaatpartities en de bootloader, dus het is niet te voorspellen wat er kan gebeuren als je de verkeerde opdracht invoert. Zorg ervoor dat u een back-up buiten het apparaat gereed heeft!


Voorbereiding

Voordat we beginnen, is er één heel belangrijk ding om op te merken. Om de bootloader van uw apparaat uit te pakken, je hebt root-toegang op je telefoon nodig. Als u geen root-toegang heeft, kunt u deze handleiding voor educatieve doeleinden blijven lezen, maar kunt u geen van de benodigde opdrachten uitvoeren. Heb het? Goed. Een andere vereiste waaraan u moet voldoen, is ervoor zorgen dat uw computer over alle benodigde functies beschikt juiste ADB/fastboot-stuurprogramma's. Als u niet over de binaire bestanden van ADB/fastboot beschikt, raad ik aan te installeren Minimale ADB en Fastboot van onze forums. Wat de stuurprogramma’s betreft, kunt u de benodigde stuurprogramma’s voor Google Nexus-apparaten pakken hier en voor alle andere apparaten van hier. Hoe weet je of je klaar bent om te gaan? Sluit uw apparaat aan, schakel USB-foutopsporing in onder Ontwikkelaarsinstellingen, open een opdrachtprompt en typ:

adb devices

Als u het serienummer van uw apparaat ziet verschijnen, beschikt u over de juiste stuurprogramma's.


De bootloader dumpen

Onze eerste stap is het openen van een shell op ons apparaat, zodat we opdrachten via ADB kunnen uitvoeren. Het is het beste dat we opdrachten via ADB uitvoeren, omdat we veel gevoeliger zijn voor het maken van fouten bij het typen op een virtueel toetsenbord, en het maken van fouten is niet iets dat je hier wilt doen. De eerste opdracht die u in uw opdrachtprompt moet uitvoeren, is:

adb shell

Als u ziet dat de opdrachtprompt verandert van het weergeven van de binaire ADB-map naar het weergeven van de codenaam voor uw Android-apparaat, dan heeft u met succes de lokale opdrachtregelshell van uw apparaat ingevoerd. Om toegang te krijgen tot de partities die we moeten dumpen, heb je superuser-toegang nodig. Om dit te doen, typt u het volgende:

su

Het symbool vóór de codenaam van uw apparaat zou moeten veranderen van $ naar # wat aangeeft dat u nu opdrachten met verhoogde rechten kunt uitvoeren. Wees nu voorzichtig!

Vervolgens zullen we de exacte locatie van de bootloader-image van uw apparaat achterhalen. Om de exacte map te vinden, zullen we een lijst afdrukken met alle partities en hun mappen op naam, en zoeken naar een specifieke map genaamd 'een laars.' U moet als volgt twee opdrachten invoeren:

cd /dev/block/bootdevice/by-name
ls -all

Zoals je hierboven kunt zien, wordt een gigantische lijst met partitiemappen afgedrukt. Deze partities zijn gesorteerd op naam, zodat we gemakkelijk de locatie van onze bootloaderpartitie kunnen onderscheiden. In mijn geval de bootloader, dat is 'een laars' in de bovenstaande afbeelding is te vinden op /dev/block/mmcblk0p10. Dit zal variëren afhankelijk van uw apparaat, dus het is belangrijk dat u deze instructies volgt om de ware map te achterhalen waar uw bootloader zich bevindt. Houd echter rekening met deze map, aangezien we ernaar zullen verwijzen in de volgende opdracht om de bootloader te dumpen:

dd if=/dev/block/{YOUR ABOOT PARTITION} of=/sdcard/aboot.img

Eenmaal succesvol, zou je een bestand moeten vinden met de naam 'aboot.img' bevindt zich in de hoofdmap van uw interne opslag. Nu we de bootloader hebben gedumpt, moeten we deze onderzoeken om te bepalen welke verborgen opdrachten we kunnen vinden.


Verborgen Fastboot-opdrachten en hun gebruik

U bent wellicht bekend met enkele van de meest voorkomende fastboot-opdrachten, zoals fastboot-flitser of fastboot opstarten. Er zijn veel meer fastboot-opdrachten zoals gedefinieerd in de open source fastboot-protocol. Hier is een lijst met de fastboot-opdrachten die beschikbaar zijn op elk apparaat met een bootloader gebaseerd op de nieuwste AOSP-code:

Wat ontbreekt in deze lijst is fastboot oem opdrachten. Deze commando's zijn specifiek aan fabrikanten van Android-apparaten, en er is nergens een uitgebreide lijst of documentatie voor welke fastboot oem-opdrachten beschikbaar zijn. Als de fabrikant van uw apparaat zo vriendelijk was om een ​​fastboot-opdracht te geven waarin alle oem-opdrachten worden vermeld (probeer fastboot oem? en kijk of dat werkt), dan hoef je verder niets te doen. Als er geen opdracht is die een lijst met beschikbare fastboot oem-opdrachten afdrukt, moet u een lijst met snaren vanuit aboot.img en zoek handmatig naar de oem-opdrachten.

'strings' is een Linux-opdracht, waarvan de documentatie dat is beschikbaar Hier. Zoals je kunt zien, gebruik ik persoonlijk een Windows-machine, dus in plaats daarvan heb ik een programma dat 'strings' uit Linux nabootst. De onbewerkte uitvoer van het 'strings'-commando op een aboot.img-bestand zal zijn behoorlijk rommelig, maar als u simpelweg CTRL+F gebruikt voor 'oem', zou u moeten vinden wat u nodig heeft. Als u uw zoekopdracht wilt verfijnen, kunt u deze opdracht proberen (voor de Windows-versie die ik heb gekoppeld):

strings * | findstr /i oem

Voor de Nexus 6P heb ik de volgende lijst met fastboot oem-opdrachten samengesteld:

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

Wees gewaarschuwd dat u geen van de bovenstaande opdrachten, of enige van de opdrachten die u op uw apparaat ontdekt, mag proberen, tenzij u bereid bent de risico's te accepteren. Er is een reden waarom deze opdrachten voor de gebruiker verborgen zijn.

Dat gezegd hebbende, heb ik een aantal leuke toepassingen bedacht voor sommige van deze fastboot-commando's die ik heb gevonden (die wel of niet aanwezig op uw apparaat, dus volg de bovenstaande instructies om te controleren!) die de meest hardcore Android zou moeten bevallen liefhebber. Er zijn hier twee opdrachten die enig praktisch nut kunnen hebben.

Als eerste is er de fastboot oem (inschakelen | uitschakelen)-lader-scherm commando. Wat dit doet is het uitschakelen van het oplaadscherm dat verschijnt wanneer uw apparaat is uitgeschakeld. Als je geen fan bent van de verblindende helderheid van het oplaadscherm als je telefoon is uitgeschakeld, dan kun je deze uitschakelen via dit verborgen fastboot-commando!

Vervolgens is er de fastboot oem off-mode-charge (inschakelen | uitschakelen) commando. Deze opdracht bepaalt of uw apparaat automatisch wordt ingeschakeld wanneer een stroombron wordt gedetecteerd. Standaard is dit ingesteld op 'uitschakelen'. Ik moet toegeven dat dit commando niet veel nut heeft voor telefoons, maar als Als u van plan bent uw tablet in het dashboard van uw auto te monteren, zult u deze opdracht ongelooflijk vinden bruikbaar. U kunt uw apparaat zo instellen dat het onmiddellijk wordt ingeschakeld wanneer de tablet stroom krijgt, bijvoorbeeld wanneer de accu van uw auto opstart. Omgekeerd is het vrij eenvoudig om de tablet uit te schakelen wanneer de stroom uitvalt met behulp van een automatiseringsapp zoals Tasker. Deze opdracht werkt trouwens precies zoals geschreven op de Nexus 7 (2013).


Dat was het voor deze les over de aanpasbaarheid van Android. Deel de opdrachten die je ontdekt (idealiter in een pastebin-link) in de reacties hieronder!

Met dank aan XDA Senior Recognised Developer Dees_Troy voor zijn hulp bij het maken van dit artikel!