Cum să descoperiți comenzile Fastboot ascunse

Există multe comenzi de pornire rapidă ascunse pe dispozitivul dvs. Pentru a le găsi, va trebui să aruncăm bootloader-ul și să examinăm conținutul!

În încercarea mea de a descoperi cât mai multe despre personalizarea Android, am făcut multe descoperiri obscure, dar interesante. Ți-am arătat cum să accesezi meniuri ascunse pe dispozitivul dvs parcurgând toate activitățile ascunse ale aplicațiilor de pe telefon. Mai recent, v-am arătat cum să accesați instrument de diagnosticare hardware ascuns pe anumite smartphone-uri. Acum, îmi dau seama că unii dintre voi ați fost dezamăgiți de faptul că smartphone-ul dvs. nu a fost tratat în articolul anterior și îmi cer scuze pentru asta.

Pentru a compensa, vă voi ghida prin ceva mult mai avansat și mai interesant: descărcați încărcătorul de pornire al dispozitivului dvs. pentru a descoperi comenzile fastboot ascunse. Acest ghid, deși făcut pe mine Nexus 6P, este cu siguranță replicabil pe majoritatea smartphone-urilor. Cu toate acestea, comenzile la care veți avea acces vor varia semnificativ între dispozitive. Majoritatea comenzilor nu vă vor ajuta cu adevărat în nicio situație reală, dar, cu toate acestea, este destul de interesant să vă scufundați adânc în setările telefonului dvs. Să începem.

Disclaimer: Atâta timp cât știți ce faceți și puteți urma instrucțiunile în mod corespunzător, nimic rău nu ar trebui să se întâmple dispozitivului dvs. Dar, încă ne încurcăm cu partițiile dispozitivului nostru și cu bootloader-ul, așa că nu se știe ce s-ar putea întâmpla dacă introduceți o comandă greșită. Asigurați-vă că aveți pregătită o copie de rezervă în afara dispozitivului!


Pregătirea

Înainte de a începe, este un lucru foarte, foarte important de reținut. Pentru a extrage bootloader-ul dispozitivului dvs., veți avea nevoie de acces root pe telefonul dvs. Dacă nu aveți acces root, puteți continua să citiți acest ghid în scopuri educaționale, dar nu veți putea efectua niciuna dintre comenzile necesare. Am inteles? Bun. O altă condiție prealabilă pe care va trebui să o îndepliniți este să vă asigurați că computerul dvs. are toate drivere ADB/fastboot adecvate. Dacă nu aveți binarele ADB/fastboot, atunci vă recomand să instalați ADB minim și Fastboot de pe forumurile noastre. În ceea ce privește driverele, puteți lua driverele necesare pentru dispozitivele Google Nexus Aici și pentru toate celelalte dispozitive de la Aici. De unde știi dacă ești gata să pleci? Conectați-vă dispozitivul, activați Depanarea USB în Setări pentru dezvoltatori, deschideți un prompt de comandă și tastați:

adb devices

Dacă apare numărul de serie al dispozitivului dvs., atunci aveți driverele potrivite.


Eliminarea Bootloader-ului

Primul nostru pas este să deschidem un shell pe dispozitivul nostru, astfel încât să putem rula comenzi prin ADB. Cel mai bine este să rulăm comenzi prin ADB, deoarece suntem mult mai predispuși să facem greșeli când tastăm pe o tastatură virtuală, iar greșelile nu este ceva ce doriți să faceți aici. Prima comandă pe care ar trebui să o rulați în linia de comandă este:

adb shell

Dacă vedeți că promptul de comandă se schimbă de la afișarea directorului binar ADB la afișarea numelui de cod pentru dispozitivul dvs. Android, atunci ați intrat cu succes în shell-ul liniei de comandă locală a dispozitivului. Acum, pentru a accesa partițiile pe care trebuie să le aruncăm, veți avea nevoie de acces de superutilizator. Pentru a face acest lucru, tastați următoarele:

su

Simbolul din fața numelui de cod al dispozitivului dvs. ar trebui să se schimbe de la $ la # indicând faptul că acum puteți rula comenzi cu privilegii ridicate. Fii atent acum!

În continuare, vom afla locația exactă a imaginii bootloader-ului dispozitivului dvs. Pentru a găsi directorul exact, vom tipări o listă cu toate partițiile și directoarele lor după nume și vom căuta unul în special numit „o cizma.' Va trebui să introduceți două comenzi, după cum urmează:

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

După cum puteți vedea mai sus, o listă gigantică de directoare de partiții este tipărită. Aceste partiții sunt sortate după nume, astfel încât să putem discerne cu ușurință locația partiției noastre de încărcare. În cazul meu, bootloader-ul, care este 'o cizma' în imaginea de mai sus, poate fi găsit la /dev/block/mmcblk0p10. Acest va varia în funcție de dispozitivul dvs., deci este important să urmați aceste instrucțiuni pentru a afla adevăratul director în care se află bootloader-ul. Rețineți totuși acest director, deoarece îl vom face referire în următoarea comandă pentru a descărca bootloader-ul:

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

Odată cu succes, ar trebui să găsiți un fișier numit „aboot.img' situat pe rădăcina stocării dvs. interne. Acum că am descărcat bootloader-ul, trebuie să-l examinăm pentru a determina ce comenzi ascunse putem găsi.


Comenzi Fastboot ascunse și utilizările lor

S-ar putea să fiți familiarizat cu unele dintre cele mai comune comenzi fastboot, cum ar fi bliț de pornire rapidă sau boot boot rapid. Există multe alte comenzi fastboot așa cum sunt definite în protocolul de pornire rapidă cu sursă deschisă. Iată o listă a comenzilor fastboot disponibile pe fiecare dispozitiv cu un bootloader bazat pe cel mai recent cod AOSP:

Ceea ce lipsește din această listă este fastboot OEM comenzi. Aceste comenzi sunt specific pentru producătorii de dispozitive Android și nu există nicio listă sau documentație cuprinzătoare pentru ce comenzi fastboot OEM sunt disponibile. Acum, dacă producătorul dispozitivului dvs. a fost destul de amabil să ofere o comandă fastboot care listează toate comenzile OEM (încercați Fastboot OEM? și vezi dacă funcționează), atunci nu va trebui să mai faci nimic. Dacă nu există nicio comandă care să imprime o listă de comenzi fastboot OEM disponibile, atunci va trebui să tipăriți o listă de siruri de caractere din aboot.img și căutați manual comenzile OEM.

„strings” este o comandă Linux, a cărei documentație este disponibil aici. După cum vă puteți da seama, eu personal folosesc o mașină Windows, așa că, în schimb, am folosit un program care imită „șiruri” din Linux. Ieșirea brută a comenzii „strings” dintr-un fișier aboot.img va fi destul de dezordonat, dar dacă pur și simplu CTRL+F pentru „oem”, ar trebui să găsiți ceea ce aveți nevoie. Dacă doriți să vă rafinați căutarea, puteți încerca această comandă (pentru versiunea Windows pe care am legat-o):

strings * | findstr /i oem

Pentru Nexus 6P, am compilat următoarea listă de comenzi fastboot OEM:

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

Fiți avertizat că nu trebuie să încercați niciuna dintre comenzile de mai sus sau oricare dintre comenzile pe care le descoperiți pe dispozitiv, decât dacă sunteți dispus să acceptați riscurile. Există un motiv pentru care aceste comenzi sunt ascunse utilizatorului.

Acestea fiind spuse, m-am gândit la câteva utilizări bune pentru unele dintre aceste comenzi fastboot pe care le-am găsit (care pot fi sau nu prezent pe dispozitivul dvs., așa că urmați instrucțiunile de mai sus pentru a verifica!) care ar trebui să-i placă cel mai hardcore Android entuziast. Există două comenzi aici care ar putea avea o anumită utilizare practică.

În primul rând este fastboot OEM (activare|dezactivare)-încărcător-ecran comanda. Acest lucru face este dezactivează ecranul de încărcare care apare când dispozitivul este oprit. Dacă nu sunteți un fan al luminozității orbitoare a ecranului de încărcare atunci când telefonul este oprit, atunci îl puteți dezactiva prin această comandă de pornire rapidă ascunsă!

În continuare, este Fastboot OEM off-mode-charge (activare | dezactivare) comanda. Această comandă determină dacă dispozitivul dvs. se va porni automat atunci când este detectată o sursă de alimentare. În mod implicit, este setat la „dezactivare”. Voi recunoaște că această comandă nu are mare folos pentru telefoane, dar dacă intenționați să vă montați tableta în tabloul de bord al mașinii, veți găsi această comandă incredibil util. Veți putea seta dispozitivul să pornească imediat atunci când tableta primește energie, cum ar fi atunci când pornește bateria mașinii. Dimpotrivă, este destul de ușor să opriți tableta atunci când alimentarea este pierdută folosind o aplicație de automatizare, cum ar fi Tasker. Această comandă, apropo, funcționează exact așa cum este scrisă pe Nexus 7 (2013).


Asta e tot pentru această lecție de personalizare Android. Distribuie comenzile pe care le descoperi (ideal într-un link pastebin) în comentariile de mai jos!

Mulțumim dezvoltatorului senior recunoscut XDA Dees_Troy pentru ajutorul acordat în realizarea acestui articol!