Како открити скривене команде за брзо покретање

На вашем уређају постоји много скривених команди за брзо покретање. Да бисмо их пронашли, мораћемо да избацимо боотлоадер и испитамо садржај!

У својој потрази да откријем што више о прилагођавању Андроид-а, направио сам многа нејасна, али занимљива открића. Показао сам вам како да приступите скривене меније на вашем уређају тако што ћете прегледати све скривене активности апликација на вашем телефону. Недавно сам вам показао како да приступите скривени хардверски дијагностички алат на одређеним паметним телефонима. Сада, схватам да су неки од вас били разочарани чињеницом да ваш паметни телефон није био покривен у претходном чланку, и извињавам се због тога.

Да надокнадим то, провест ћу вас кроз нешто далеко, далеко напредније и узбудљивије: избацивање покретачког програма вашег уређаја да бисте открили скривене команде за брзо покретање. Овај водич, иако је направљен на мом Некус 6П, дефинитивно се може поновити на већини паметних телефона. Међутим, које команде ћете имати приступ значајно ће се разликовати између уређаја. Већина команди вам неће помоћи ни у једној стварној ситуацији, али је ипак прилично занимљиво заронити ово дубоко у подешавања вашег телефона. Хајде да почнемо.

Одрицање од одговорности: Све док знате шта радите и можете да следите упутства на одговарајући начин, ништа лоше не би требало да се деси вашем уређају. Али, још увек се петљамо са нашим партицијама уређаја и покретачем, тако да се не зна шта би се могло догодити ако унесете погрешну команду. Уверите се да имате спремну резервну копију ван уређаја!


Припрема

Пре него што почнемо, треба напоменути једну заиста, заиста важну ствар. Да бисте извукли покретач покретања вашег уређаја, биће вам потребан роот приступ на вашем телефону. Ако немате роот приступ, можете наставити да читате овај водич у образовне сврхе, али нећете моћи да извршите ниједну од потребних команди. Схватио? Добро. Још један предуслов који ћете морати да испуните је да обезбедите да ваш рачунар има све одговарајући АДБ/фастбоот драјвери. Ако немате АДБ/фастбоот бинарне датотеке, онда препоручујем да инсталирате Минимални АДБ & Фастбоот са наших форума. Што се тиче драјвера, можете преузети потребне драјвере за Гоогле Некус уређаје овде а за све остале уређаје из овде. Како знаш да ли си спреман? Укључите свој уређај, омогућите УСБ отклањање грешака у подешавањима програмера, отворите командну линију и откуцајте:

adb devices

Ако видите да се појављује серијски број вашег уређаја, онда имате праве управљачке програме.


Избацивање покретача

Наш први корак је да отворимо љуску на нашем уређају како бисмо могли да покрећемо команде преко АДБ-а. Најбоље је да покрећемо команде преко АДБ-а јер смо много склонији грешкама када куцамо на виртуелној тастатури, а прављење грешака није нешто што овде желите да радите. Прва команда коју треба да покренете у командној линији је:

adb shell

Ако видите да се командна линија променила са приказа АДБ бинарног директоријума на приказ кодног имена за ваш Андроид уређај, онда сте успешно унели љуску локалне командне линије вашег уређаја. Сада, да бисте приступили партицијама које треба да избацимо, биће вам потребан приступ суперкорисника. Да бисте то урадили, откуцајте следеће:

su

Симбол испред кодног имена вашег уређаја би требало да се промени са $ до # што указује да сада можете да покрећете команде са повишеним привилегијама. Будите опрезни сада!

Затим ћемо утврдити тачну локацију слике покретача вашег уређаја. Да бисмо пронашли тачан директоријум, одштампаћемо листу свих партиција и њихових директоријума по имену и потражити један посебно под називом 'ципела.' Мораћете да унесете две команде на следећи начин:

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

Као што видите изнад, огромна листа директоријума партиција је одштампана. Ове партиције су сортиране по имену, тако да можемо лако да уочимо локацију наше партиције покретачког програма. У мом случају, боотлоадер, који је 'ципела' на горњој слици, може се наћи на /дев/блоцк/ммцблк0п10. Ово ће варирати у зависности од вашег уређаја, тако да је важно да пратите ова упутства да бисте открили прави директоријум где се налази ваш покретач. Међутим, обратите пажњу на овај директоријум, јер ћемо га референцирати у следећој команди да избацујемо покретач:

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

Када успете, требало би да пронађете датотеку под називом 'абоот.имг' који се налази у корену ваше интерне меморије. Сада када смо избацили боотлоадер, морамо да га испитамо да бисмо утврдили које скривене команде можемо пронаћи.


Скривене команде за брзо покретање и њихова употреба

Можда сте упознати са неким од најчешћих команди за брзо покретање, као што је фастбоот фласх или фастбоот боот. Постоји много више команди за брзо покретање како је дефинисано у протокол за брзо покретање отвореног кода. Ево листе команди за брзо покретање које су доступне на сваком уређају са покретачем заснованим на најновијем АОСП коду:

Оно што недостаје на овој листи је брзо покретање оем команди. Ове команде су специфичним произвођачима Андроид уређаја, а нигде не постоји свеобухватна листа или документација о томе које су команде фастбоот оем доступне. Сада, ако је произвођач вашег уређаја био довољно љубазан да обезбеди команду за брзо покретање која наводи све оем команде (покушајте фастбоот оем ? и видите да ли то функционише), онда нећете морати да радите ништа даље. Ако не постоји ниједна команда која штампа листу доступних команди за брзо покретање оем, онда ћете морати да одштампате листу жице са абоот.имг и ручно потражите команде оем.

'стрингс' је линук команда, чија је документација доступно овде. Као што видите, ја лично користим Виндовс машину, па сам уместо тога користио а програм који опонаша 'стрингове' из Линука. Необрађени излаз команде 'стрингс' у датотеци абоот.имг биће прилично неуредно, али ако једноставно ЦТРЛ+Ф за 'оем' требало би да пронађете оно што вам треба. Ако желите да прецизирате претрагу, можете испробати ову команду (за верзију Виндовс-а коју сам повезао):

strings * | findstr /i oem

За Некус 6П саставио сам следећу листу оем команди за брзо покретање:

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

Имајте на уму да не би требало да покушавате ниједну од горе наведених команди или било коју од команди које откријете на свом уређају, осим ако нисте вољни да прихватите ризике. Постоји разлог зашто су ове команде скривене од корисника.

Имајући то у виду, смислио сам неке згодне употребе за неке од ових команди за брзо покретање које сам пронашао (то може, али не мора бити присутан на вашем уређају, па пратите упутства изнад да бисте проверили!) који би требало да вам се свиђа најтврдокорнији Андроид ентузијаста. Овде постоје две команде које би могле имати неку практичну употребу.

Прво је на фастбоот оем (енабле|дисабле)-цхаргер-сцреен команда. Оно што ово ради је да онемогућава екран за пуњење који се појављује када је ваш уређај искључен. Ако нисте љубитељ заслепљујуће осветљености екрана за пуњење када је ваш телефон искључен, можете га онемогућити преко ове скривене команде за брзо покретање!

Следеће, ту је фастбоот оем офф-моде-цхарге (омогући|онемогући) команда. Ова команда одређује да ли ће се ваш уређај аутоматски укључити када се открије извор напајања. Подразумевано је подешен на „онемогући“. Признаћу да ова команда нема много користи за телефоне, али ако планирате да монтирате свој таблет у контролну таблу свог аутомобила, наћи ћете ову команду невероватно корисним. Моћи ћете да подесите свој уређај да се одмах укључи када таблет добије напајање, на пример када се батерија у аутомобилу покрене. Насупрот томе, прилично је лако искључити таблет када се нестане струје коришћењем апликације за аутоматизацију као што је Таскер. Ова команда, иначе, ради тачно онако како је написано на Некус 7 (2013).


То је то за ову лекцију о прилагодљивости Андроид-а. Поделите команде које откријете (идеално у линку пастебин) у коментарима испод!

Хвала КСДА Сениор Рецогнизед Девелопер Деес_Трои за његову помоћ у изради овог чланка!