Обяснение на Anti-Rollback на Xiaomi: Как да избегнете блокирането на телефона си

Всички смартфони и таблети 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, флашнете нов ROM или използвате MiFlash за възстановяване на фабрично изображение. Това е твърда, невъзстановима тухла, която изисква използването на EDL режим за коригиране. Но режимът EDL не е достъпен, освен ако нямате оторизиран акаунт, така че много потребители останаха без начин да поправят техния телефон, освен да го изпратят в оторизиран сервизен център или да платят за използване на нечий акаунт с EDL достъп. В тази статия ще ви обясним всичко, което трябва да знаете за новата защита против връщане назад на Xiaomi, така че да избегнете блокирането на новия си телефон.


Защо Xiaomi изисква дълго време за изчакване за отключване на буутлоудъра, EDL оторизация и защита срещу връщане назад?

Китайският електронен гигант Xiaomi е най-популярната марка смартфони в Индия благодарение на богатия им избор от устройства от бюджетен и среден клас. Подобно на Huawei, Xiaomi също продава много смартфони на родния си пазар в Китай. Много от тези устройства никога не се продават извън Китай, но това не спира хората да ги внасят. Неофициални търговци на продукти на Xiaomi се появиха на Aliexpress, Gearbest и много други уебсайтове, позволявайки на всеки извън Китай да купи най-новите продукти на Xiaomi. Това представлява предизвикателство за компанията, тъй като софтуерът, който доставят на своите китайски устройства, наречен „MIUI Китай“, не съдържа Google Play Services, Google Play Store или езици, различни от английски или Мандарина. По този начин всеки, който внася устройство Xiaomi от Китай, не трябва да получава приложения и услуги на Google извън кутията.

Въпреки това търговците на дребно от трети страни измислиха начин да заобиколят това, за да могат да убедят клиентите, че продават устройства на Xiaomi с „официален“ MIUI Global ROM. Търговците на дребно ще купуват устройства Xiaomi на едро, ще отключат буутлоудъра, ще променят софтуера сами или ще флашнат персонализиран ROM като Xiaomi.eu (неофициални ROM, базирани на 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 дни, преди да се увеличи до 15 дни в началото на 2018 г., а наскоро времето за изчакване се увеличи до 30 или до 60 дни в някои случаи. (Новата под-марка на Xiaomi, Poco, намали времето за изчакване до 3 дни след получаване на обратна връзка от общността, въпреки че почти всички останали все още трябва да чакат дълго време.) Добавянето на време за изчакване към процеса на отключване на буутлоудъра беше ефективно за забавяне на операциите на търговците на дребно на трети страни, но е също разбираемо досадно за ентусиасти, които искат да отключат буутлоудъра, за да руутнат своето устройство, да флашват персонализирани ROM и да флашват персонализирани ядки.

EDL Упълномощаване

След това компанията започна да заключва EDL режима на своите устройства. EDL означава Режим на спешно изтегляне и това е алтернативен режим на зареждане на всички устройства на Qualcomm, който обикновено се използва за деблокиране на вашето устройство. За да използвате режим EDL, трябва да намерите това, което се нарича „програматор“, който е упълномощен от OEM (Xiaomi) за използване на вашето устройство. Режимът EDL е много мощен и много ниско ниво, и се използва рутинно от сервизните центрове за ремонт на устройства. Въпреки това, режимът EDL също често се използва за флашване както на официални, така и на модифицирани MIUI Global ROM на китайски устройства на Xiaomi без отключване на буутлоудъра. По същество режимът EDL се превърна в друг начин, по който търговците на дребно на трети страни могат да заобиколят Xiaomi. Xiaomi не иска потребителите да купуват китайски версии на техния хардуер с инсталирани Global ROM, така че направиха две неща: направиха невъзможно зареждането на Global ROM, ако устройството не е глобална версия (с предупредителното съобщение „Този ​​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.

Списък с устройства, които в момента имат активирана защита против връщане назад. източник: Xiaomi.eu.

Защитата против връщане ще спре всеки неоторизиран търговец да се възползва от експлойтите в по-старите версии на MIUI, като по този начин предпазва потребителите от експлоатация. Той обаче хвана много неподготвени, защото Xiaomi го пусна в Redmi Note 5 Pro, без да информира потребителите предварително. Тъй като TWRP няма въведени проверки, които да спрат потребителите да инсталират по-стари, неоторизирани MIUI версии, много хора случайно блокираха устройствата си, когато преминаха от MIUI beta ROM към MIUI стабилен ROM. Всички поддържани в момента устройства на Xiaomi в крайна сметка ще получат защита срещу връщане назад, така че е изключително важно че разбирате как да го проверите преди понижаване и какво можете да направите, ако защитата против връщане е налице активиран.


Как да проверите за защита против връщане назад

Когато говорихме за защита срещу връщане, която предотвратява зареждането на по-стар, несигурен софтуер от устройство, казахме, че Verified Boot „открива“ наличието на по-стар софтуер. Как работи това откриване е, че Verified Boot има индекс за връщане назад, който се сравнява с индекса за връщане назад на изображенията, които ще бъдат инсталирани. В зависимост от това как се сравняват индексите за връщане назад, ще се случи следното:

  • Ако текущият индекс за връщане назад е по-малко отколкото индекса за връщане назад в изображенията, които ще бъдат флашнати, след това изображенията ще мигат и на текущият индекс на връщане ще бъде увеличен за да съответства на новия индекс за връщане назад.
  • Ако текущият индекс за връщане назад е равен към индекса за връщане назад в изображенията, които ще бъдат флашнати, след това изображенията ще мигат и на индексът на връщане няма да се промени.
  • Ако текущият индекс за връщане назад е по-голяма отколкото индекса за връщане назад в изображенията, които ще бъдат флашнати, след това изображения ще бъдат отхвърлени ако ти си мига чрез fastboot или Mi Flash. (TWRP не проверява индексите за връщане преди мигане, поради което почти всички тухли са резултат от понижаване чрез TWRP.)

Сега, след като разбирате по-добре индекса за връщане назад, ето как всъщност да проверите текущия индекс за връщане назад на вашето устройство и изображението, което искате да мигате.

Как да намерите текущия индекс за връщане назад

  1. Рестартирайте в режим на бързо зареждане
  2. Въведете следната команда: fastboot getvar anti
  3. Ако изходът е празен, тогава анти-връщането все още не е активирано. Ако получите число в изхода, тогава това е текущият ви индекс за връщане назад.
Текущият индекс против връщане назад на устройството е 4.

Как да намерите индекса за връщане назад на изображения

  1. Изтеглете „fastboot“ ROM, еквивалент на ROM за възстановяване, който се опитвате да инсталирате. ROM за възстановяване винаги има маркетинговото име на устройството в името на файла и завършва на .zip. ROM за бързо стартиране винаги има кодовото име на устройството в името на файла и завършва на .tar.gz.
  2. Извлечете flash-all.bat от архива .tar.gz. 7Zip може лесно да се справи с това.
  3. Отворете flash-all.bat в текстов редактор като Notepad++ и потърсете следния ред: set CURRENT_ANTI_VER=#
  4. Това число (#) е индексът за връщане назад на версията на MIUI, която искате да флашнете. Ако това число е равно или по-голямо от текущия ви индекс за връщане назад, тогава е безопасно да флашвате в TWRP, Mi Flash и т.н. Ако това число е по-малко от текущия ви индекс за връщане назад, тогава НЕ ФЛАШВАЙТЕ ТОЗИ ROM ЧРЕЗ TWRP.
Фрагмент от flash-all скрипта на ROM за бързо стартиране

Избягването на пълна, невъзстановима тухла трябва да е лесно, стига да проверите индексите за връщане преди да преминете през TWRP. Само за по-сигурно трябва да се придържате към Mi Flash или fastboot, за да флашвате MIUI ROM като тези на телефона си bootloader има вградени защити, за да ви предпази от понижаване до версия с по-ниско връщане назад индекс.


Как защитата срещу връщане назад засяга потребителските ROM?

Ако планирате никога повече да не мигате MIUI, тогава няма да се промени много за вас. Ако искате да флашнете AOSP ROM като LineageOS, Pixel Experience, Resurrection Remix, Carbon ROM, и т.н., пак ще трябва да отключите буутлоудъра чрез Mi Unlock, да стартирате TWRP и след това да флашнете персонализирания ROM. Единствената забележима разлика е как инсталирате TWRP чрез fastboot. Тъй като защитата срещу връщане ви блокира от мигане на TWRP изображението, първо трябва да флашнете „фиктивно“ изображение. Фиктивното изображение е празен файл, който не служи за друга цел, освен да изпрати команда до буутлоудъра, така че да знае, че след това може да приеме други флашове. (Ако погледнете скрипта за флаш-всичко от предишния раздел, това всъщност е начинът, по който Xiaomi го прави официално.) Алтернативно, можете да „бързо стартирате“ TWRP изображението, да преместите TWRP изображението в хранилището на вашето устройство, след което да флашнете TWRP изображението отвътре TWRP. Не предоставям подробни инструкции за нито един от двата метода, тъй като ви призовавам да посетите форума на вашето устройство за конкретни инструкции за устройството.

XDA Forum Index за всички устройства Xiaomi

Има обаче едно предупреждение. Няма начин да разберете предварително дали индексът за връщане назад е бил увеличен поради актуализиран буутлоудър, модем, доставчик или други дялове. Имайте предвид, че персонализираните ROM обикновено променят само системата и дяловете за зареждане, но за да запазите устройството си наистина защитено с най-новите актуализации на корекцията за сигурност, ще понякога се налага да флашвате най-новите изображения, които се съдържат в най-новите официални MIUI ROM. Разработчиците на персонализирани ROM ще трябва ръчно да проверяват индекса за връщане назад от тези компилации, преди да ви препоръчат да актуализирате - по този начин ще знаете кога нова актуализация ви заключва в определени версии на MIUI, ако планирате да се върнете към MIUI от AOSP ROM.


Какво да направя, ако блокирам телефона си?

Ако сте блокирали телефона си чрез задействане на защита срещу връщане назад, имате много малко възможности.

  1. Изпратете вашето устройство в оторизиран сервизен център за ремонт. Сервизните центрове имат достъп за възстановяване на вашето устройство чрез EDL режим.
  2. Надяваме се, че има някакъв начин да заобиколите EDL оторизацията (по същество експлойт), така че да можете ръчно да възстановите устройството си с правилния програмист.

Както можете да видите, блокирането на телефона ви чрез задействане на защита срещу връщане не е шега. Наистина трябва да сте внимателни, преди да флашнете някоя по-стара версия на MIUI.


Често задавани въпроси (ЧЗВ)

  1. Какво да избягвам, ако не искам да блокирам устройството си?
    • Не флашвайте версия на MIUI с индекс на връщане, по-малък от текущия индекс на връщане на вашето устройство. Вижте по-горе за инструкции.
    • Не флашвайте официален MIUI Global ROM на китайски хардуер на Xiaomi със заключен буутлоудър.
  2. Мога ли да инсталирам потребителски AOSP ROM, ядра, Magisk, Xposed, Substratum, ARISE и други модификации?
    • да
  3. Мога ли да превключвам между MIUI Global Stable, MIUI Global Developer, MIUI China Stable и MIUI China Developer?
    • Да, но трябва да сравните индексите за връщане, преди да инсталирате по-стара версия на MIUI.
  4. Защо Xiaomi не деактивира защитата срещу връщане назад, когато отключите буутлоудъра?
    • Това е добър въпрос.
  5. Защо Xiaomi блокира телефона ви, ако се задейства защита срещу връщане назад, което Google не прави?
    • Това е друг добър въпрос.
  6. Защо Xiaomi не показва стандартното предупреждение за потвърдено зареждане, за да покаже на потребителя, че софтуерът е манипулиран?
    • Вървите с тези страхотни въпроси! Съвсем сериозно, това може да бъде донякъде оправдано, защото е възможно да деактивирате този начален екран - поне на някои устройства.

Специални благодарности на XDA Recognized Developer yshalsager и младши член на XDA franztesca за помощта им в тази статия!