Kaip atrasti paslėptas „Fastboot“ komandas

Jūsų įrenginyje yra daug paslėptų greitosios įkrovos komandų. Norėdami juos rasti, turėsime išmesti įkrovos įkroviklį ir ištirti turinį!

Siekdamas sužinoti kuo daugiau apie „Android“ tinkinimą, padariau daug neaiškių, tačiau įdomių atradimų. Parodžiau, kaip pasiekti paslėptus meniu jūsų įrenginyje sijodami visas paslėptas programų veiklas telefone. Visai neseniai parodžiau, kaip pasiekti paslėptas aparatinės įrangos diagnostikos įrankis tam tikruose išmaniuosiuose telefonuose. Dabar suprantu, kad kai kurie iš jūsų nusivylė tuo, kad jūsų išmanusis telefonas nebuvo aprašytas ankstesniame straipsnyje, ir atsiprašau už tai.

Norėdami tai kompensuoti, papasakosiu jums daug, daug sudėtingesnio ir įdomesnio: išmeskite įrenginio įkrovos įkroviklį, kad atrastumėte paslėptas greitojo įkrovos komandas. Šis vadovas, nors ir padarytas mano „Nexus 6P“., yra neabejotinai atkartojama daugumoje išmaniųjų telefonų. Tačiau, kokios komandos turėsite prieigą, skirtinguose įrenginiuose labai skirsis. Dauguma komandų tikrai nepadės jokioje realioje situacijoje, tačiau vis dėlto gana įdomu pasinerti į savo telefono nustatymus. Pradėkime.

Atsakomybės apribojimas: kol žinote, ką darote, ir galite tinkamai vykdyti instrukcijas, jūsų įrenginiui neturėtų nutikti nieko blogo. Tačiau mes vis dar susiduriame su savo įrenginio skaidiniais ir įkrovos įkrovikliu, todėl negalime pasakyti, kas gali nutikti, jei įvesite neteisingą komandą. Įsitikinkite, kad turite atsarginę kopiją ne įrenginyje!


Paruošimas

Prieš pradėdami, reikia atkreipti dėmesį į vieną tikrai labai svarbų dalyką. Norėdami išskleisti įrenginio įkrovos įkroviklį, jums reikės root prieigos jūsų telefone. Jei neturite root prieigos, galite tęsti šio vadovo skaitymą švietimo tikslais, tačiau negalėsite atlikti jokių reikalingų komandų. Supratau? Gerai. Kita būtina sąlyga, kurią turėsite įvykdyti, yra užtikrinti, kad jūsų kompiuteryje būtų visi tinkamos ADB/fastboot tvarkyklės. Jei neturite ADB/fastboot dvejetainių failų, rekomenduoju įdiegti Minimalus ADB ir greitas paleidimas iš mūsų forumų. Kalbant apie tvarkykles, galite paimti reikiamas „Google Nexus“ įrenginių tvarkykles čia ir visiems kitiems įrenginiams iš čia. Kaip žinoti, ar tau tinka? Prijunkite įrenginį, įgalinkite USB derinimą skiltyje Kūrėjo nustatymai, atidarykite komandų eilutę ir įveskite:

adb devices

Jei matote iššokantį įrenginio serijos numerį, vadinasi, turite tinkamas tvarkykles.


Bootloader pašalinimas

Pirmasis žingsnis yra atidaryti apvalkalą mūsų įrenginyje, kad galėtume vykdyti komandas per ADB. Geriausia, kad vykdytume komandas per ADB, nes daug dažniau klystame vesdami virtualiąja klaviatūra, o klysti čia nesinori. Pirmoji komanda, kurią turėtumėte paleisti komandų eilutėje, yra:

adb shell

Jei matote, kad komandų eilutė pasikeičia iš ADB dvejetainio katalogo rodymo į „Android“ įrenginio kodo pavadinimo rodymą, vadinasi, sėkmingai įvedėte įrenginio vietinę komandų eilutės apvalkalą. Dabar, norint pasiekti skaidinius, kuriuos turime iškelti, jums reikės supervartotojo prieigos. Norėdami tai padaryti, įveskite:

su

Simbolis prieš jūsų įrenginio kodinį pavadinimą turėtų pasikeisti iš $ į # tai rodo, kad dabar galite vykdyti komandas su padidintomis teisėmis. Būkite atsargūs dabar!

Tada išsiaiškinsime tikslią jūsų įrenginio įkrovos įkrovos vaizdo vietą. Norėdami rasti tikslų katalogą, mes išspausdinsime visų skaidinių ir jų katalogų sąrašą pagal pavadinimus ir ieškosime vieno, kuris vadinamas "paleisti.' Turėsite įvesti dvi komandas taip:

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

Kaip matote aukščiau, išspausdinamas milžiniškas skaidinių katalogų sąrašas. Šie skaidiniai yra surūšiuoti pagal pavadinimą, todėl galime lengvai nustatyti įkrovos įkrovos skaidinio vietą. Mano atveju, įkrovos įkroviklis, kuris yra 'aboot' aukščiau esančiame paveikslėlyje, galite rasti adresu /dev/block/mmcblk0p10. Tai skirsis priklausomai nuo jūsų įrenginio, todėl svarbu, kad vykdytumėte šias instrukcijas, kad išsiaiškintumėte tikrąjį katalogą, kuriame yra įkrovos įkroviklis. Tačiau atkreipkite dėmesį į šį katalogą, nes mes jį nurodysime šioje komandoje, kad išmestume įkrovos įkroviklį:

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

Kai pasiseks, turėtumėte rasti failą pavadinimu "aboot.img“, esantį jūsų vidinės atminties šaknyje. Dabar, kai išmetėme įkrovos tvarkyklę, turime ją ištirti, kad nustatytų, kokias paslėptas komandas galime rasti.


Paslėptos „Fastboot“ komandos ir jų naudojimas

Galbūt esate susipažinę su kai kuriomis dažnesnėmis greitojo įkrovimo komandomis, pvz „fastboot“ blykstė arba „fastboot“ įkrova. Yra daug daugiau greitosios įkrovos komandų, kaip apibrėžta atvirojo kodo greitosios įkrovos protokolas. Čia pateikiamas greito įkrovimo komandų sąrašas, prieinamas kiekviename įrenginyje su įkrovos įkrovikliu, pagrįstu naujausiu AOSP kodu:

Šiame sąraše trūksta „fastboot“. oem komandas. Šios komandos yra specifinis „Android“ įrenginių gamintojams, o niekur nėra išsamaus sąrašo ar dokumentacijos, kokios galimos „fastboot oem“ komandos. Dabar, jei jūsų įrenginio gamintojas buvo pakankamai malonus ir pateikė greitosios įkrovos komandą, kurioje išvardijamos visos oem komandos (pabandykite fastboot oem? ir pažiūrėkite, ar tai veikia), tada jums nebereikės nieko daryti. Jei nėra komandos, kuri atspausdintų galimų „fastboot oem“ komandų sąrašą, turėsite išspausdinti stygos iš aboot.img ir rankiniu būdu ieškokite oem komandų.

„strings“ yra „Linux“ komanda, kurios dokumentacija yra galima čia. Kaip galite suprasti, aš asmeniškai naudoju „Windows“ įrenginį, todėl vietoj jo naudoju a programa, kuri imituoja „ eilutes“ iš „Linux“.. Neapdorota komandos „strings“ išvestis faile aboot.img bus gana netvarkinga, bet jei tiesiog paspausite CTRL+F kaip „oem“, turėtumėte rasti tai, ko jums reikia. Jei norite patikslinti paiešką, galite išbandyti šią komandą (skirta „Windows“ versijai, kurią susiejau):

strings * | findstr /i oem

„Nexus 6P“ sudariau šį „fastboot oem“ komandų sąrašą:

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

Įspėkite, kad neturėtumėte bandyti atlikti nė vienos iš pirmiau nurodytų komandų arba komandų, kurias radote savo įrenginyje, nebent esate pasirengę prisiimti riziką. Yra priežastis, dėl kurios šios komandos yra paslėptos nuo vartotojo.

Tai pasakius, pagalvojau apie kai kurių šių rastų greitosios įkrovos komandų panaudojimą (tai gali būti arba ne yra jūsų įrenginyje, todėl vadovaukitės anksčiau pateiktomis instrukcijomis, kad patikrintumėte!), kuri turėtų patikti pačiam sudėtingiausiam „Android“. entuziastas. Čia yra dvi komandos, kurios gali turėti praktinės naudos.

Pirmiausia yra „fastboot oem“ (įjungti|išjungti) - įkroviklio ekranas komandą. Tai išjungia įkrovimo ekraną, kuris pasirodo, kai įrenginys išjungiamas. Jei nesate akinančio įkrovimo ekrano ryškumo, kai telefonas išjungtas, gerbėjas, galite jį išjungti naudodami šią paslėptą greito įkrovimo komandą!

Toliau yra „fastboot OEM“ išjungimo režimo įkrovimas (įjungti | išjungti) komandą. Ši komanda nustato, ar jūsų įrenginys automatiškai įsijungs, kai bus aptiktas maitinimo šaltinis. Pagal numatytuosius nustatymus jis nustatytas kaip „išjungti“. Prisipažinsiu, kad ši komanda telefonams nelabai naudos, bet jei planšetinį kompiuterį planuojate pritvirtinti prie automobilio prietaisų skydelio, šią komandą rasite neįtikėtinai naudinga. Galėsite nustatyti, kad įrenginys iš karto įsijungtų, kai planšetinis kompiuteris gauna maitinimą, pvz., kai įsijungia automobilio akumuliatorius. Ir atvirkščiai, naudojant automatizavimo programą, pvz., Tasker, planšetinį kompiuterį gana lengva išjungti, kai dingsta maitinimas. Ši komanda, beje, veikia tiksliai taip, kaip parašyta „Nexus 7“ (2013 m.).


Štai viskas šioje „Android“ tinkinimo pamokoje. Pasidalinkite aptiktomis komandomis (geriausia – pastebin nuorodoje) žemiau esančiuose komentaruose!

Ačiū XDA vyresniajam pripažintam kūrėjui Dees_Troy už pagalbą kuriant šį straipsnį!