Vysvetlenie Anti-Rollback od Xiaomi: Ako sa vyhnúť zablokovaniu telefónu

Všetky smartfóny a tablety Xiaomi budú mať povolenú ochranu proti vráteniu. Čo to je a ako sa kvôli tomu vyhnete zamurovaniu vášho zariadenia?

Ešte v júli, Xiaomi vyrolovať MIUI 10 Global Beta 8.7.5 pre osem zariadení Xiaomi. Keď používatelia nainštalovali aktualizáciu do svojho Xiaomi Redmi Note 5 Pro, oni nevedomky flashoval zostavu so zapnutou ochranou proti prevráteniu. Používatelia, ktorým sa nepáčila verzia MIUI 10 Global Beta, boli nepríjemne prekvapení, keď sa pokúsili preinštalovať najnovšiu verziu MIUI 9 Global Stable ROM: ich telefóny boli zablokované! Nebol to typ tehly, ktorú by ste mohli opraviť obnovením zálohy TWRP, flashovaním novej ROM alebo použitím MiFlash na obnovenie továrenského obrazu. Toto je tvrdá, neobnoviteľná tehla, ktorá vyžaduje použitie režimu EDL na opravu. Režim EDL však nie je dostupný, pokiaľ nemáte autorizovaný účet, takže veľa používateľov nemalo žiadny spôsob, ako to opraviť ich telefón, s výnimkou jeho odoslania do autorizovaného servisného strediska alebo platenia za používanie niekoho účtu v EDL prístup. V tomto článku vám vysvetlíme všetko, čo potrebujete vedieť o novej ochrane proti spätnému vráteniu od Xiaomi, aby ste sa vyhli zablokovaniu vášho nového telefónu.


Prečo Xiaomi vyžaduje dlhé čakacie doby na odomknutie zavádzača, EDL autorizáciu a Anti-Rollback Protection?

Čínsky elektronický gigant Xiaomi je najobľúbenejšou značkou smartfónov v Indii vďaka širokému výberu lacných zariadení a zariadení strednej triedy. Rovnako ako Huawei, aj Xiaomi predáva veľa smartfónov na svojom domácom trhu v Číne. Mnohé z týchto zariadení sa nikdy nepredávajú mimo Číny, ale to ľuďom nebráni v ich dovoze. Neoficiálni predajcovia produktov Xiaomi sa objavili na Aliexpress, Gearbest a ďalších mnohých ďalších webových stránkach, čo umožňuje komukoľvek mimo Číny nakupovať najnovšie produkty Xiaomi. To predstavovalo pre spoločnosť výzvu, pretože softvér, ktorý dodávajú na svojich čínskych zariadeniach, nazývaný „MIUI Čína,“ neobsahuje Služby Google Play, Obchod Google Play ani iné jazyky ako angličtinu alebo mandarínka. Každý, kto dováža zariadenie Xiaomi z Číny, by teda nemal dostávať aplikácie a služby Google mimo krabice.

Maloobchodníci tretích strán však prišli na spôsob, ako to obísť, aby mohli presvedčiť zákazníkov, že predávajú zariadenia Xiaomi s „oficiálnou“ MIUI Global ROM. Predajcovia by nakupovali zariadenia Xiaomi vo veľkom, odomykali bootloader, sami menili softvér alebo flashovali custom ROM ako Xiaomi.eu (neoficiálne ROM založené na MIUI China, ale s viacerými jazykmi a funkciami) a potom zariadenie predať. Väčšina spotrebiteľov by nemala ako vedieť, že používa neoficiálny/upravený softvér, a namiesto toho by obviňovala Xiaomi z nedostatku aktualizácií alebo chýb, s ktorými sa stretávajú. Ešte horšie je, že niektorí predajcovia úmyselne zbalili malvér alebo adware, aby mohli zarobiť nejaké peniaze navyše. Reputácia Xiaomi bola touto praktikou aktívne poškodzovaná, pretože technickí recenzenti a spotrebitelia boli chytení do schém títo neoficiálni predajcovia, a preto potrebovali prísť na spôsob, ako zastaviť pochybných predajcov v predaji upravených zariadení v objem.

Jedným z riešení je úplné zablokovanie odomykania bootloadera, čo je a drastický krok, ktorý nedávno podnikol Huawei. Spoločnosť Xiaomi, ktorá videla úspech svojej značky medzi nadšencami, zatiaľ nezablokovala odomykanie zavádzača. Namiesto toho implementovali niekoľko blokád na ochranu používateľov pred konaním škodlivých predajcov tretích strán.

Časy čakania na odomknutie zavádzača

Najprv implementovali čakaciu dobu na odomknutie bootloadera. Zariadenia Xiaomi, okrem modelov Xiaomi Mi A1, Xiaomi Mi A2 a Xiaomi Mi A2 Lite, ktoré používajú systém Android v rámci programu Android One si na odomknutie vyžadujú použitie proprietárneho nástroja Xiaomi Mi Unlock bootloader. Po odoslaní vašej žiadosti o odomknutie bootloadera vás Mi Unlock prinúti počkať, kým potvrdí vašu požiadavku a odomkne bootloader. Čakacia doba bývala 3 dni, kým sa začiatkom roka 2018 zvýšila na 15 dní a nedávno sa čakacia doba zvýšila na 30 resp. až 60 dní v niektorých prípadoch. (Nová podznačka Xiaomi, Poco, skrátila čakaciu dobu do 3 dní od prijatia spätnej väzby od komunity takmer všetci ostatní musia ešte dlho čakať.) Pridanie času čakania do procesu odomknutia zavádzača bolo účinné pri spomalení operácií predajcov tretích strán, ale je tiež pochopiteľne otravné pre nadšencov, ktorí chcú odomknúť bootloader, aby rootovali svoje zariadenie, flashovali vlastné ROM a flashovali vlastné jadier.

Autorizácia EDL

Ďalej spoločnosť začala blokovať režim EDL na svojich zariadeniach. EDL znamená núdzový režim sťahovania a je to alternatívny režim zavádzania na všetkých zariadeniach Qualcomm, ktorý sa bežne používa na odblokovanie vášho zariadenia. Aby ste mohli používať režim EDL, musíte nájsť to, čo sa nazýva „programátor“, ktorý bol autorizovaný výrobcom OEM (Xiaomi) na použitie vo vašom zariadení. Režim EDL je veľmi silný a veľmi nízkej úrovnia bežne ho používajú servisné strediská na opravu zariadení. Režim EDL sa však bežne používal aj na flashovanie oficiálnych aj upravených MIUI Global ROM na čínskych zariadeniach Xiaomi bez odomknutia bootloadera. V podstate sa EDL režim stal ďalším spôsobom, ktorým by predajcovia tretích strán mohli obísť Xiaomi. Xiaomi nechce, aby si spotrebitelia kupovali čínske verzie ich hardvéru s nainštalovanými globálnymi ROM, preto urobili dve veci: Znemožnili spustenie globálnej ROM, ak zariadenie nie je globálnou verziou (s varovným hlásením „Toto MIUI nie je možné nainštalovať na toto zariadenie“), a preto sa režim EDL nedá použiť, pokiaľ nemáte autorizované zariadenie Mi účtu.

Aktualizácia: Máme ďalšie podrobnosti o nedávnych obmedzeniach, ktoré spoločnosť Xiaomi urobila v súvislosti s flashovaním verzie MIUI mimo regiónu. Ak uvažujete o dovoze smartfónu alebo tabletu Xiaomi, mali by ste naozaj pre istotu si prečítajte tento článok!

Ochrana proti spätnému vráteniu

Nakoniec implementovali anti-rollback ochranu do najnovších verzií MIUI pre najnovšie zariadenia Xiaomi. Možno ste už počuli o ochrane proti prevráteniu. Google pridaná podpora pre funkciu v systéme Android 8.0 Oreo a to bolo povinné pre zariadenia so systémom Android Pie. Ochrana proti vráteniu od spoločnosti Google je funkciou systému Android Verified Boot 2.0 (známeho aj ako Verified Boot) a zabráni spusteniu zariadenia, ak zistí, že zariadenie bolo zmenené na starší, neschválený softvér stavať. Ochrana proti vráteniu je potrebná, aby sa útočníkom zabránilo načítať starší softvér do zariadenia, ktoré je náchylné na zneužitie. Najväčší rozdiel medzi implementáciou Google a Xiaomi je v tom, že ochrana proti spätnému vráteniu od Google je deaktivovaná, ak odomknete bootloader, zatiaľ čo Xiaomi nemožno deaktivovať. Po nainštalovaní zostavy s povolenou ochranou proti vráteniu do zariadenia Xiaomi už niet cesty späť. Napríklad ochrana proti vráteniu je povolená pre Xiaomi Mi 8 a Xiaomi Redmi Note 5 Pro počnúc verziou MIUI 10 China 8.9.6 a MIUI 10 Global Beta 8.7.5.

Zoznam zariadení, ktoré majú momentálne povolenú ochranu proti vráteniu. Zdroj: Xiaomi.eu.

Anti-rollback ochrana zabráni neautorizovanému predajcovi vo využívaní exploitov v starších verziách MIUI, čím ochráni užívateľov pred zneužitím. Mnohých to však zaskočilo aj preto, že Xiaomi ho zaviedlo na Redmi Note 5 Pro bez toho, aby o tom používateľov vopred informovalo. Pretože TWRP nemá zavedené žiadne kontroly, ktoré by zabránili používateľom inštalovať staršie, neautorizované MIUI verzie, veľa ľudí omylom zablokovalo svoje zariadenia, keď prešli z MIUI beta ROM na MIUI stabilná ROM. Všetky aktuálne podporované zariadenia Xiaomi nakoniec získajú ochranu proti vráteniu, takže je to neuveriteľne dôležité že rozumiete tomu, ako ju skontrolovať pred prechodom na nižšiu verziu a čo môžete urobiť, ak je ochrana proti vráteniu správ zapnutá povolené.


Ako skontrolovať Anti-Rollback Protection

Keď sme hovorili o ochrane proti vráteniu, ktorá bráni zariadeniu spustiť starší, nezabezpečený softvér, povedali sme, že Verified Boot „zisťuje“ prítomnosť staršieho softvéru. Táto detekcia funguje tak, že Verified Boot má index vrátenia, ktorý sa porovnáva s indexom vrátenia obrázkov, ktoré sa majú nainštalovať. V závislosti od toho, ako sa porovnávajú indexy návratnosti, sa stane toto:

  • Ak je aktuálny index vrátenia menej než index vrátenia v obrázkoch, ktoré sa majú blikať, potom tlačidlo obrázky budú blikať a aktuálny index vrátenia sa zvýši aby sa zhodoval s novým indexom vrátenia.
  • Ak je aktuálny index vrátenia rovný na index vrátenia v obrázkoch, ktoré sa majú zobraziť, a potom na obrázky budú blikať a index vrátenia sa nezmení.
  • Ak je aktuálny index vrátenia väčší než index vrátenia v obrázkoch, ktoré sa majú blikať, potom tlačidlo obrázky budú odmietnuté Ak si blikanie cez fastboot alebo Mi Flash. (TWRP nekontroluje rollback indexy pred blikaním, čo je dôvod, prečo takmer všetky tehly boli výsledkom downgradu cez TWRP.)

Teraz, keď už lepšie rozumiete indexu vrátenia, tu je postup, ako skutočne skontrolovať aktuálny index vrátenia na vašom zariadení a obrázok, ktorý chcete zobraziť.

Ako nájsť aktuálny index vrátenia

  1. Reštartujte do režimu rýchleho spustenia
  2. Zadajte nasledujúci príkaz: fastboot getvar anti
  3. Ak je výstup prázdny, anti-rollback ešte nie je aktivovaný. Ak vo výstupe dostanete číslo, potom je to váš aktuálny index vrátenia.
Aktuálny index anti-rollback zariadenia je 4.

Ako nájsť index vrátenia obrázkov

  1. Stiahnite si „fastboot“ ekvivalent ROM pre obnovenie ROM, ktorý sa pokúšate nainštalovať. ROM na obnovenie má vždy marketingový názov zariadenia v názve súboru a končí príponou .zip. Fastboot ROM má vždy kódové meno zariadenia v názve súboru a končí príponou .tar.gz.
  2. Extrahujte flash-all.bat z archívu .tar.gz. 7Zip si s tým ľahko poradí.
  3. Otvorte flash-all.bat v textovom editore, ako je Notepad++, a vyhľadajte nasledujúci riadok: set CURRENT_ANTI_VER=#
  4. Toto číslo (#) je index vrátenia verzie MIUI, ktorú chcete flashovať. Ak je toto číslo rovnaké alebo väčšie ako váš aktuálny index vrátenia, potom je bezpečné blikať v TWRP, Mi Flash atď. Ak je toto číslo menšie ako váš aktuálny index vrátenia, NEPREPIŠUJTE TÚTO ROM cez TWRP.
Úryvok z flash-all skriptu rýchleho spustenia ROM

Vyhnúť sa úplnej, neobnoviteľnej tehličke by malo byť jednoduché, pokiaľ pred downgradovaním cez TWRP skontrolujete indexy návratu. Pre istotu by ste sa mali držať Mi Flash alebo rýchleho spustenia a flashovať MIUI ROM ako váš telefón bootloader má vstavané ochrany, ktoré vám zabránia prejsť na verziu s nižším návratom index.


Ako Anti-Rollback Protection ovplyvňuje vlastné ROM?

Ak plánujete už nikdy neblikať MIUI, veľa sa toho pre vás nezmení. Ak chcete flashovať AOSP ROM ako LineageOS, Pixel Experience, Resurrection Remix, Carbon ROM, atď., stále budete musieť odomknúť bootloader cez Mi Unlock, spustiť TWRP a potom flashovať vlastný ROM. Jediný významný rozdiel je v tom, ako nainštalujete TWRP cez rýchle spustenie. Keďže ochrana proti spätnému vráteniu vám bráni v prebliknutí obrázka TWRP, musíte najskôr spustiť „fiktívny“ obrázok. Figurálny obrázok je prázdny súbor, ktorý neslúži na nič iné ako na odoslanie príkazu do zavádzača, aby vedel, že potom môže prijať ďalšie záblesky. (Ak sa pozriete na skript flash-all z predchádzajúcej časti, takto to Xiaomi oficiálne robí.) Prípadne, môžete „rýchlo spustiť“ obrázok TWRP, presunúť obrázok TWRP do úložiska vášho zariadenia a potom flashovať obrázok TWRP zvnútra TWRP. Neposkytujem podrobné pokyny pre žiadnu z metód, pretože vás žiadam, aby ste navštívili fórum vášho zariadenia, kde nájdete pokyny pre konkrétne zariadenie.

Index fóra XDA pre všetky zariadenia Xiaomi

Je tu však jedna výhrada. Neexistuje spôsob, ako vopred zistiť, či bol index vrátenia zvýšený v dôsledku aktualizovaného zavádzača, modemu, dodávateľa alebo iných oddielov. Majte na pamäti, že vlastné pamäte ROM zvyčajne menia iba systémové a zavádzacie oddiely, ale aby bolo vaše zariadenie skutočne zabezpečené pomocou najnovších aktualizácií bezpečnostných opráv, občas potrebujete flashovať najnovšie obrázky, ktoré sú obsiahnuté v najnovších oficiálnych MIUI ROM. Vývojári vlastných ROM budú musieť manuálne skontrolovať index vrátenia z týchto verzií skôr, ako vám odporučia aktualizáciu – tak budete vedieť, keď vás nová aktualizácia uzamkne v určitých verziách MIUI, ak sa plánujete vrátiť k MIUI z AOSP ROM.


Čo mám robiť, ak zablokujem telefón?

Ak ste svoj telefón zablokovali spustením ochrany proti vráteniu, máte len veľmi málo možností.

  1. Pošlite svoje zariadenie do autorizovaného servisného strediska na opravu. Servisné strediská majú prístup k obnoveniu vášho zariadenia prostredníctvom režimu EDL.
  2. Dúfam, že existuje spôsob, ako obísť autorizáciu EDL (v podstate exploit), aby ste mohli svoje zariadenie manuálne obnoviť pomocou správneho programátora.

Ako vidíte, blokovanie telefónu spustením ochrany proti prevráteniu nie je vtip. Pred flashovaním akejkoľvek staršej verzie MIUI musíte byť naozaj opatrní.


Často kladené otázky (FAQ)

  1. Čomu sa mám vyhnúť, ak nechcem zablokovať svoje zariadenie?
    • Neflashujte verziu MIUI s indexom vrátenia nižším, ako je aktuálny index vrátenia vášho zariadenia. Pokyny nájdete vyššie.
    • Neflashujte oficiálnu MIUI Global ROM na čínsky hardvér Xiaomi s uzamknutým bootloaderom.
  2. Môžem stále nainštalovať vlastné AOSP ROM, jadrá, Magisk, Xposed, Substratum, ARISE a ďalšie mody?
    • Áno.
  3. Môžem stále prepínať medzi MIUI Global Stable, MIUI Global Developer, MIUI China Stable a MIUI China Developer?
    • Áno, ale pred inštaláciou staršej verzie MIUI musíte porovnať indexy vrátenia.
  4. Prečo Xiaomi nevypne ochranu proti vráteniu, keď odomknete bootloader?
    • to je dobrá otázka.
  5. Prečo Xiaomi zablokuje váš telefón, ak sa spustí ochrana proti vráteniu, ktorú spoločnosť Google nerobí?
    • To je ďalšia dobrá otázka.
  6. Prečo Xiaomi nezobrazuje štandardné varovanie overeného spustenia, aby používateľovi neukázalo, že so softvérom sa manipulovalo?
    • Ste na zozname s týmito skvelými otázkami! Vo všetkej vážnosti to môže byť do istej miery opodstatnené, pretože túto úvodnú obrazovku je možné vypnúť - aspoň na niektorých zariadeniach.

Špeciálne poďakovanie patrí uznávanému vývojárovi XDA yshalsager a XDA Junior Member franztesca za ich pomoc v tomto článku!