На всіх смартфонах і планшетах Xiaomi буде включений захист від відкату. Що це таке і як уникнути блокування пристрою через це?
Ще в липні Xiaomi викотив MIUI 10 Global Beta 8.7.5 для восьми пристроїв Xiaomi. Коли користувачі встановили оновлення на свій Xiaomi Redmi Note 5 Pro, вони несвідомо блиснула збірка з увімкненим захистом від відкату. Користувачі, яким не сподобалася MIUI 10 Global Beta, знайшли неприємний сюрприз, коли вони спробували перевстановити останню версію MIUI 9 Global Stable ROM: їхні телефони були заблоковані! Це була не та проблема, яку ви могли б виправити, відновивши резервну копію TWRP, прошивши новий ПЗУ або використовуючи MiFlash для відновлення заводського образу. Це міцна, невідновлювана цегла, для виправлення якої потрібен режим EDL. Але режим EDL недоступний, якщо у вас немає авторизованого облікового запису, тому багато користувачів не мали можливості виправити свого телефону, за винятком надсилання його до авторизованого сервісного центру або оплати використання чийогось облікового запису в EDL доступу. У цій статті ми збираємося пояснити все, що вам потрібно знати про новий захист від відкату від Xiaomi, щоб ви могли уникнути блокування свого нового телефону.
Чому Xiaomi вимагає тривалого часу очікування розблокування завантажувача, авторизації EDL і захисту від відкату?
Китайський електронний гігант Xiaomi є найпопулярнішим брендом смартфонів в Індії завдяки широкому вибору бюджетних і середніх пристроїв. Як і Huawei, Xiaomi також продає масу смартфонів на внутрішньому ринку Китаю. Багато з цих пристроїв ніколи не продаються за межами Китаю, але це не заважає людям імпортувати їх. На Aliexpress, Gearbest та інших веб-сайтах з’явилися неофіційні роздрібні продавці продуктів Xiaomi, що дозволяє будь-кому за межами Китаю купувати найновіші продукти Xiaomi. Це стало проблемою для компанії, оскільки програмне забезпечення, яке вони поставляють на своїх китайських пристроях під назвою «MIUI Китай», не містить служб Google Play, Google Play Store або інших мов, крім англійської або Мандарин. Таким чином, будь-хто, хто імпортує пристрій Xiaomi з Китаю, не повинен отримувати програми та служби Google нестандартно.
Однак сторонні продавці знайшли спосіб обійти це, щоб переконати клієнтів, що вони продають пристрої Xiaomi з «офіційним» MIUI Global ROM. Роздрібні торговці купували б пристрої Xiaomi оптом, розблоковували завантажувач, змінювали програмне забезпечення самостійно або перепрошивали спеціальний ПЗУ, наприклад Xiaomi.eu (неофіційні ПЗУ на основі MIUI China, але з більшою кількістю мов і функцій), а потім продайте пристрій. Більшість споживачів не знають, що вони використовують неофіційне/модифіковане програмне забезпечення, і натомість звинувачуватимуть Xiaomi у відсутності оновлень або помилках, з якими вони стикаються. Що ще гірше, деякі роздрібні торговці навмисно розміщують зловмисне або рекламне програмне забезпечення, щоб отримати додаткові гроші. Ця практика активно шкодила репутації Xiaomi, оскільки технічні оглядачі та споживачі були втягнуті в схеми ці неофіційні роздрібні торговці, тому їм потрібно було придумати спосіб зупинити тіньових роздрібних торговців від продажу модифікованих пристроїв у масовий.
Одним з рішень є повне блокування розблокування завантажувача, яке є a рішучий крок, який нещодавно зробила Huawei. Бачачи успіх свого бренду серед ентузіастів, Xiaomi поки не перейшла до блокування розблокування завантажувача. Натомість вони запровадили кілька блокпостів, щоб захистити користувачів від дій зловмисних сторонніх продавців.
Час очікування розблокування завантажувача
По-перше, вони запровадили період очікування для розблокування завантажувача. Пристрої Xiaomi, за винятком Xiaomi Mi A1, Xiaomi Mi A2 і Xiaomi Mi A2 Lite, які працюють із стандартною ОС Android у програмі Android One вимагайте використання власного інструменту Mi Unlock від Xiaomi, щоб розблокувати завантажувач. Після надсилання вашого запиту на розблокування завантажувача Mi Unlock змушує вас чекати, перш ніж перевірить ваш запит і розблокує завантажувач. Раніше час очікування становив 3 дні, а на початку 2018 року збільшився до 15 днів, а нещодавно час очікування збільшився до 30 або до 60 днів в деяких випадках. (Новий суббренд Xiaomi, Poco, скоротили час очікування до 3 днів після отримання відгуку від спільноти, хоча майже всім іншим доводиться довго чекати.) Додавання часу очікування до процесу розблокування завантажувача було ефективним у сповільненні операцій сторонніх продавців, але це також зрозуміло, що це дратує ентузіастів, які хочуть розблокувати завантажувач, щоб викорінити свій пристрій, прошити користувацькі ПЗУ та прошити користувацькі ядра.
Авторизація EDL
Потім компанія почала блокувати режим EDL на своїх пристроях. EDL означає Emergency Download Mode, і це альтернативний режим завантаження на всіх пристроях Qualcomm, який зазвичай використовується для деблокування вашого пристрою. Щоб використовувати режим EDL, вам потрібно знайти так званий «програматор», авторизований OEM (Xiaomi) для використання на вашому пристрої. Режим EDL є дуже потужний і дуже низький рівень, і він регулярно використовується сервісними центрами для ремонту пристроїв. Однак режим EDL також часто використовувався для прошивки офіційних і модифікованих глобальних ПЗУ MIUI на китайських пристроях Xiaomi без розблокування завантажувача. По суті, режим EDL став ще одним способом, за допомогою якого сторонні продавці могли обійти Xiaomi. Xiaomi не хоче, щоб споживачі купували китайські версії їх апаратного забезпечення з установленими глобальними ПЗУ, тому вони зробили дві речі: зробили неможливим завантаження глобальної ПЗУ, якщо пристрій не є глобальною версією (із попередженням «Цю MIUI не можна встановити на цьому пристрої») і зробив це так, що режим EDL не можна використовувати, якщо у вас немає авторизованого Mi рахунок.
Оновлення: У нас є додаткові відомості про нещодавні обмеження, які Xiaomi ввела щодо перепрошивки версії MIUI за межами регіону. Якщо ви плануєте імпортувати смартфон або планшет Xiaomi, це дійсно потрібно прочитайте цю статтю, щоб бути в безпеці!
Захист від відкату
Нарешті, вони реалізували захист від відкату в останніх версіях MIUI для останніх пристроїв Xiaomi. Можливо, ви раніше чули про захист від відкату. Google додана підтримка для функції в Android 8.0 Oreo та зробив це обов'язковим для пристроїв, які запускаються з Android Pie. Захист Google від відкату є функцією Android Verified Boot 2.0 (також відомої як Verified Boot). запобігає завантаженню пристрою, якщо виявляє, що на пристрої було відновлено старішу, несхвалену програму будувати. Захист від відкату необхідний, щоб запобігти завантаженню зловмисниками старішого програмного забезпечення на пристрій, чутливий до експлойту. Найбільша різниця між реалізацією Google і Xiaomi полягає в тому, що захист від відкату Google вимикається, якщо ви розблокуєте завантажувач, тоді як захист Xiaomi не можна вимкнути. Після того як ви встановите збірку з увімкненим захистом від відкату на пристрої Xiaomi, повернення назад не буде. Наприклад, захист від відкату ввімкнено для Xiaomi Mi 8 і Xiaomi Redmi Note 5 Pro, починаючи з MIUI 10 China 8.9.6 і MIUI 10 Global Beta 8.7.5 відповідно.
Захист від відкату не дозволить будь-якому неавторизованому продавцю скористатися експлойтами в старих версіях MIUI, таким чином захистивши користувачів від експлуатації. Однак він також застав багатьох зненацька, тому що Xiaomi розгорнула його на Redmi Note 5 Pro, не повідомивши користувачів заздалегідь. Оскільки TWRP не має жодних перевірок, які б заважали користувачам встановлювати старішу неавторизовану MIUI багато людей випадково заблокували свої пристрої під час переходу з бета-версії MIUI на MIUI стабільний ROM. Усі підтримувані наразі пристрої Xiaomi з часом отримають захист від відкату, тому це надзвичайно важливо що ви розумієте, як перевірити його перед пониженням і що ви можете зробити, якщо захист від відкату є включено.
Як перевірити наявність захисту від відкату
Коли ми говорили про захист від відкату, який запобігає завантаженню пристрою старішого, незахищеного програмного забезпечення, ми сказали, що Verified Boot «виявляє» наявність старішого програмного забезпечення. Як це виявлення працює, Verified Boot має індекс відкату, який порівнюється з індексом відкату образів, які потрібно встановити. Залежно від порівняння індексів відкату відбудеться наступне:
- Якщо поточний індекс відкату дорівнює менше ніж індекс відкату в зображеннях, які потрібно спалахнути, то зображення будуть блимати і поточний індекс відкату буде збільшено щоб відповідати новому індексу відкату.
- Якщо поточний індекс відкату дорівнює рівні до індексу відкату в зображеннях, які потрібно спалахнути, а потім зображення будуть блимати і індекс відкату не зміниться.
- Якщо поточний індекс відкату дорівнює більше ніж індекс відкату в зображеннях, які потрібно спалахнути, то зображень буде відхилено якщо ти прошивка через fastboot або Mi Flash. (TWRP не перевіряє індекси відкату перед прошивкою, тому майже всі цеглини були результатом пониження через TWRP.)
Тепер, коли ви краще розумієте індекс відкату, ось як насправді перевірити поточний індекс відкоту на вашому пристрої та зображення, яке ви хочете оновити.
Як знайти поточний індекс відкату
- Перезавантажтеся в режим швидкого завантаження
- Введіть таку команду:
fastboot getvar anti
- Якщо вихідні дані порожні, це означає, що захист від відкату ще не ввімкнено. Якщо ви отримуєте число у вихідних даних, то це ваш поточний індекс відкату.
Як знайти індекс відкату зображень
- Завантажте ПЗУ «швидкого завантаження», еквівалент ПЗУ для відновлення, яке ви намагаєтеся встановити. ПЗУ для відновлення завжди містить маркетингову назву пристрою в назві файлу та закінчується на .zip. ПЗУ швидкого завантаження завжди містить кодове ім’я пристрою в назві файлу та закінчується на .tar.gz.
- Розпакуйте flash-all.bat з архіву .tar.gz. 7Zip легко впорається з цим.
- Відкрийте flash-all.bat у текстовому редакторі, наприклад Notepad++, і знайдіть такий рядок:
set CURRENT_ANTI_VER=#
- Цей номер (#) є індексом відкату версії MIUI, яку ви хочете перепрошити. Якщо це число дорівнює або перевищує ваш поточний індекс відкату, то можна безпечно прошивати в TWRP, Mi Flash тощо. Якщо це число менше, ніж ваш поточний індекс відкату, тоді НЕ ПРОШИВУЙТЕ ЦЕЙ ПЗУ ЧЕРЕЗ TWRP.
Уникати повної, невідновлюваної цегли має бути просто, якщо ви перевіряєте індекси відкату перед поверненням через TWRP. Щоб бути в безпеці, вам слід використовувати Mi Flash або fastboot, щоб прошивати MIUI ROM як ваш телефон завантажувач має вбудовані засоби захисту, які запобігають переходу до версії з нижчим відкотом індекс.
Як захист від відкату впливає на спеціальні ПЗУ?
Якщо ви плануєте більше ніколи не встановлювати MIUI, то для вас мало що зміниться. Якщо ви хочете перезавантажити AOSP ROM, наприклад LineageOS, Pixel Experience, Resurrection Remix, Carbon ROM, тощо, вам все одно потрібно буде розблокувати завантажувач за допомогою Mi Unlock, завантажити TWRP, а потім перепрошити спеціальний ROM. Єдина помітна відмінність полягає в тому, як ви встановлюєте TWRP через швидке завантаження. Оскільки захист від відкату блокує вам перепрошивання образу TWRP, вам потрібно спочатку перепрошити «фіктивне» зображення. Фіктивне зображення — це порожній файл, який не служить для іншої мети, окрім надсилання команди завантажувачу, щоб він знав, що після цього він може приймати інші спалахи. (Якщо ви подивитеся на сценарій flash-all з попереднього розділу, це фактично те, як це офіційно робить Xiaomi.) Крім того, ви можете «швидко завантажити» образ TWRP, перемістити образ TWRP у пам’ять пристрою, а потім перезавантажити образ TWRP ізсередини TWRP. Я не надаю докладних інструкцій щодо обох методів, оскільки раджу вам відвідати форум вашого пристрою, щоб отримати інструкції щодо конкретного пристрою.
Індекс форуму XDA для всіх пристроїв Xiaomi
Однак є одне застереження. Немає способу заздалегідь визначити, чи індекс відкату було збільшено через оновлений завантажувач, модем, постачальника чи інші розділи. Майте на увазі, що користувальницькі ПЗУ зазвичай змінюють лише системні та завантажувальні розділи, але щоб захистити ваш пристрій за допомогою останніх оновлень безпеки, вам потрібно час від часу потрібно перепрошивати найновіші зображення, які містяться в останніх офіційних ПЗУ MIUI. Розробникам кастомних ПЗУ доведеться вручну перевіряти індекс відкату цих збірок, перш ніж вони порекомендують вам оновити — таким чином ви дізнаєтесь, коли нове оновлення заблокує вас у певних версіях MIUI, якщо ви плануєте повернутися до MIUI з ПЗУ AOSP.
Що робити, якщо я зламав телефон?
Якщо ви заблокували свій телефон, активувавши захист від відкату, у вас буде дуже мало варіантів.
- Відправте свій пристрій до авторизованого сервісного центру для ремонту. Сервісні центри мають доступ до відновлення вашого пристрою через режим EDL.
- Сподіваюся, що є спосіб обійти авторизацію EDL (по суті, експлойт), щоб ви могли вручну відновити свій пристрій за допомогою відповідного програматора.
Як бачите, блокування телефону за допомогою захисту від відкату — це не жарт. Вам справді потрібно бути обережним, перш ніж перепрошувати будь-яку старішу версію MIUI.
Часті запитання (FAQ)
- Чого мені уникати, якщо я не хочу блокувати свій пристрій?
- Не перепрошивайте версію MIUI з індексом відкату, меншим за поточний індекс відкату вашого пристрою. Інструкції дивіться вище.
- Не перепрошивайте офіційну глобальну ПЗУ MIUI на китайське обладнання Xiaomi із заблокованим завантажувачем.
- Чи можу я встановити спеціальні ПЗУ AOSP, ядра, Magisk, Xposed, Substratum, ARISE та інші модифікації?
- Так.
- Чи можу я все одно переключатися між MIUI Global Stable, MIUI Global Developer, MIUI China Stable і MIUI China Developer?
- Так, але вам потрібно порівняти індекси відкату перед встановленням старішої версії MIUI.
- Чому Xiaomi не вимикає захист від відкату, коли ви розблокуєте завантажувач?
- Це гарне запитання.
- Чому Xiaomi блокує ваш телефон, якщо спрацьовує захист від відкату, чого Google не робить?
- Це ще одне хороше запитання.
- Чому Xiaomi не відображає стандартне попередження Verified Boot, щоб показати користувачеві, що програмне забезпечення було змінено?
- Ви впоралися з цими чудовими запитаннями! Якщо серйозно, це може бути певною мірою виправдано, тому що цю заставку можна відключити - принаймні на деяких пристроях.
Особлива подяка визнаному розробнику XDA йшалсагер та молодший член XDA franztesca за допомогу в цій статті!