На вашому пристрої є багато прихованих команд швидкого завантаження. Щоб знайти їх, нам потрібно буде вивести завантажувач і перевірити вміст!
У своєму прагненні дізнатися якомога більше про налаштування Android, я зробив багато незрозумілих, але цікавих відкриттів. Я показав вам, як отримати доступ приховані меню на вашому пристрої переглядаючи всі приховані дії програм на вашому телефоні. Нещодавно я показав вам, як отримати доступ до інструмент діагностики прихованого обладнання на певних смартфонах. Тепер я розумію, що деякі з вас були розчаровані тим фактом, що ваш смартфон не описано в попередній статті, і я прошу вибачення за це.
Щоб компенсувати це, я збираюся провести вас через щось набагато, набагато більш просунуте та захоплююче: створення дампа завантажувача вашого пристрою, щоб виявити приховані команди швидкого завантаження. Цей посібник, хоча зроблено на моєму Nexus 6P, точно можна відтворити на більшості смартфонів. Однак те, до яких команд ви матимете доступ, значно відрізнятиметься на різних пристроях. Більшість команд не допоможуть вам у будь-якій реальній ситуації, але, тим не менш, досить цікаво зануритися в налаштування телефону. Давайте розпочнемо.
Застереження: поки ви знаєте, що робите, і можете належним чином виконувати інструкції, з вашим пристроєм не повинно статися нічого поганого. Але ми все ще возимося з розділами нашого пристрою та завантажувачем, тому неможливо сказати, що може статися, якщо ви введете неправильну команду. Переконайтеся, що у вас є резервна копія поза пристроєм!
Підготовка
Перш ніж ми розпочнемо, є одна дуже, дуже важлива річ, яку слід зазначити. Щоб отримати завантажувач вашого пристрою, вам знадобиться root-права на вашому телефоні. Якщо у вас немає root-доступу, ви можете продовжувати читати цей посібник з освітньою метою, але ви не зможете виконати жодну з необхідних команд. зрозумів добре. Ще одна обов’язкова умова, яку ви повинні виконати, — переконатися, що на вашому комп’ютері є всі належні драйвери ADB/fastboot. Якщо у вас немає двійкових файлів ADB/fastboot, я рекомендую встановити Мінімальний ADB & Fastboot з наших форумів. Що стосується драйверів, ви можете отримати необхідні драйвери для пристроїв Google Nexus тут і для всіх інших пристроїв від тут. Як дізнатися, чи все готово? Підключіть свій пристрій, увімкніть налагодження USB у налаштуваннях розробника, відкрийте командний рядок і введіть:
adb devices
Якщо ви бачите серійний номер свого пристрою у спливаючому вікні, це означає, що ви маєте потрібні драйвери.
Викидання завантажувача
Наш перший крок — відкрити оболонку на нашому пристрої, щоб ми могли виконувати команди через ADB. Найкраще, щоб ми запускали команди через ADB, тому що ми набагато більш схильні до помилок під час введення тексту на віртуальній клавіатурі, а робити помилки тут не варто. Перша команда, яку ви повинні виконати в командному рядку:
adb shell
Якщо ви бачите, що командний рядок змінюється з відображення бінарного каталогу ADB на кодове ім’я вашого пристрою Android, це означає, що ви успішно ввійшли в локальну оболонку командного рядка свого пристрою. Тепер, щоб отримати доступ до розділів, які нам потрібно створити, вам знадобиться доступ суперкористувача. Для цього введіть наступне:
su
Символ перед кодовою назвою вашого пристрою має змінитися на $ до # вказуючи, що тепер ви можете запускати команди з підвищеними привілеями. Будьте обережні зараз!
Далі ми з’ясуємо точне розташування образу завантажувача вашого пристрою. Щоб знайти точний каталог, ми роздрукуємо список усіх розділів та їхніх каталогів за іменами та шукатимемо один із них під назвою «про це. Вам потрібно буде ввести дві такі команди:
cd /dev/block/bootdevice/by-name
ls -all
Як ви бачите вище, роздруковується величезний список каталогів розділів. Ці розділи відсортовано за назвою, тому ми можемо легко визначити розташування розділу завантажувача. У моєму випадку завантажувач, який є "про" на зображенні вище, можна знайти за адресою /dev/block/mmcblk0p10. Це буде змінюватися залежно від вашого пристрою, тому важливо дотримуватись цих інструкцій, щоб визначити справжній каталог, де розташований ваш завантажувач. Однак зверніть увагу на цей каталог, оскільки ми посилатимемося на нього в наступній команді для створення дампу завантажувача:
dd if=/dev/block/{YOUR ABOOT PARTITION} of=/sdcard/aboot.img
У разі успіху ви повинні знайти файл під назвою "aboot.img', розташованому в кореневому корені вашої внутрішньої пам'яті. Тепер, коли ми скинули завантажувач, нам потрібно перевірити його, щоб визначити, які приховані команди ми можемо знайти.
Приховані команди Fastboot та їх використання
Ви можете бути знайомі з деякими з більш поширених команд швидкого завантаження, наприклад флеш швидкого завантаження або швидке завантаження. Існує багато інших команд швидкого завантаження, як визначено в протокол швидкого завантаження з відкритим кодом. Ось список команд швидкого завантаження, доступних на кожному пристрої із завантажувачем на основі останнього коду AOSP:
Чого не вистачає в цьому списку, так це швидкого завантаження oem команди. Ці команди є конкретні виробникам пристроїв Android, і ніде немає вичерпного списку чи документації щодо доступних команд fastboot oem. Тепер, якщо виробник вашого пристрою був досить люб’язний надати команду fastboot, яка містить список усіх команд OEM (спробуйте швидке завантаження oem? і подивіться, чи це працює), тоді вам більше нічого не потрібно буде робити. Якщо немає жодної команди, яка друкує список доступних команд fastboot oem, вам потрібно буде надрукувати список рядки з aboot.img і знайдіть команди oem вручну.
'strings' — це команда Linux, документація до якої є доступний тут. Як ви можете зрозуміти, я особисто використовую машину Windows, тому замість цього я використовую a програма, яка імітує «рядки» з Linux. Необроблений результат команди 'strings' у файлі aboot.img буде таким досить брудно, але якщо ви просто натиснете CTRL+F для «oem», ви знайдете те, що вам потрібно. Якщо ви хочете уточнити свій пошук, ви можете спробувати цю команду (для версії Windows, яку я посилав):
strings * | findstr /i oem
Для Nexus 6P я склав такий список команд швидкого завантаження 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
Майте на увазі, що ви не намагаєтесь виконати жодну з наведених вище команд або будь-яку з команд, які ви знайдете на своєму пристрої, якщо ви не готові прийняти ризик. Є причина, чому ці команди приховані від користувача.
Зважаючи на це, я подумав про кілька влучних застосувань для деяких із цих команд швидкого завантаження, які я знайшов (вони можуть бути, а можуть і ні присутній на вашому пристрої, тож дотримуйтесь інструкцій вище, щоб перевірити!), які мають сподобатися найхардкорнішій Android ентузіаст. Тут є дві команди, які можуть мати практичну користь.
По-перше, це fastboot oem (увімкнути|вимкнути)-екран зарядного пристрою команда. Це вимикає екран зарядки, який з’являється, коли пристрій вимкнено. Якщо ви не любитель сліпучої яскравості екрана заряджання, коли телефон вимкнено, ви можете вимкнути його за допомогою цієї прихованої команди швидкого завантаження!
Далі, це fastboot oem off-mode-charge (увімкнути|вимкнути) команда. Ця команда визначає, чи буде ваш пристрій автоматично вмикатися, коли буде виявлено джерело живлення. За замовчуванням встановлено значення «вимкнено». Я визнаю, що ця команда не дуже корисна для телефонів, але якщо ви плануєте встановити свій планшет на приладову панель автомобіля, ця команда буде для вас неймовірною корисний. Ви зможете налаштувати пристрій на миттєве ввімкнення, коли планшет отримує живлення, наприклад, коли запускається акумулятор автомобіля. І навпаки, досить легко вимкнути планшет у разі втрати живлення за допомогою програми автоматизації, як-от Tasker. Ця команда, до речі, працює точно так, як написано на Nexus 7 (2013).
Ось і все для цього уроку з налаштувань Android. Поділіться командами, які ви знайшли (в ідеалі в посиланні вставити) у коментарях нижче!
Дякуємо старшому визнаному розробнику XDA Dees_Troy за допомогу у створенні цієї статті!