Vysvětlení Anti-Rollback společnosti Xiaomi: Jak se vyhnout zablokování telefonu

Všechny smartphony a tablety Xiaomi budou mít povolenou ochranu proti vrácení zpět. Co to je a jak se kvůli tomu vyvarujete zcizení vašeho zařízení?

Ještě v červenci, Xiaomi vyvalil MIUI 10 Global Beta 8.7.5 pro osm zařízení Xiaomi. Když uživatelé nainstalovali aktualizaci na svůj Xiaomi Redmi Note 5 Pro, oni nevědomky flashoval build se zapnutou ochranou proti vrácení zpět. Uživatelé, kterým se nelíbilo MIUI 10 Global Beta, byli nepříjemně překvapeni, když se pokusili znovu nainstalovat nejnovější MIUI 9 Global Stable ROM: jejich telefony byly zablokovány! Nešlo o typ cihly, kterou byste mohli opravit obnovením zálohy TWRP, flashováním nové ROM nebo použitím MiFlash k obnovení do továrního obrazu. Jedná se o tvrdou, neobnovitelnou cihlu, která k opravě vyžaduje použití režimu EDL. Ale režim EDL není přístupný, pokud nemáte autorizovaný účet, takže mnoho uživatelů nemělo žádný způsob, jak to opravit jejich telefon s výjimkou jeho odeslání do autorizovaného servisního střediska nebo placení za použití něčího účtu u EDL přístup. V tomto článku vysvětlíme vše, co potřebujete vědět o nové ochraně Xiaomi proti zpětnému navrácení, abyste se vyhnuli zhroucení svého nového telefonu.


Proč Xiaomi vyžaduje dlouhé čekací doby na odemknutí bootloaderu, EDL autorizaci a Anti-Rollback Protection?

Čínský elektronický gigant Xiaomi je nejoblíbenější značkou smartphonů v Indii díky širokému výběru levných zařízení a zařízení střední třídy. Stejně jako Huawei prodává Xiaomi na svém domácím trhu v Číně spoustu smartphonů. Mnoho z těchto zařízení se nikdy neprodává mimo Čínu, ale to lidem nebrání je dovážet. Neoficiální prodejci produktů Xiaomi se objevili na Aliexpress, Gearbest a dalších mnoha dalších webových stránkách, což umožňuje komukoli mimo Čínu nakupovat nejnovější produkty Xiaomi. To pro společnost představovalo výzvu, protože software, který dodávají na svých čínských zařízeních, nazvaný „MIUI Čína,“ neobsahuje Služby Google Play, Obchod Google Play ani jiné jazyky než angličtinu nebo Mandarinka. Každý, kdo dováží zařízení Xiaomi z Číny, by tedy neměl dostávat aplikace a služby Google mimo krabici.

Prodejci třetích stran však přišli na způsob, jak to obejít, aby mohli přesvědčit zákazníky, že prodávají zařízení Xiaomi s „oficiální“ MIUI Global ROM. Prodejci by nakupovali zařízení Xiaomi ve velkém, odemykali bootloader, sami měnili software nebo flashovali vlastní ROM jako Xiaomi.eu (neoficiální ROM založené na MIUI China, ale s více jazyky a funkcemi), a poté zařízení prodat. Většina spotřebitelů by neměla žádný způsob, jak vědět, že používají neoficiální/upravený software, a místo toho by obviňovali Xiaomi z nedostatku aktualizací nebo chyb, se kterými se setkávají. Ještě horší je, že někteří maloobchodníci úmyslně sbalili malware nebo adware, aby si mohli vydělat nějaké peníze navíc. Reputace Xiaomi byla touto praxí aktivně poškozována, protože tech recenzenti a spotřebitelé byli chyceni do schémat tito neoficiální prodejci, a tak potřebovali přijít na způsob, jak zabránit pochybným prodejcům v prodeji upravených zařízení hromadně.

Jedním z řešení je úplné zablokování odemykání bootloaderu, což je a drastický krok, který nedávno podnikl Huawei. Když Xiaomi vidělo úspěch své značky mezi nadšenci, zatím nepřešlo k blokování odemykání bootloaderu. Místo toho implementovali několik blokování reklam, aby chránili uživatele před akcemi škodlivých prodejců třetích stran.

Čekací doby pro odemknutí bootloaderu

Nejprve implementovali čekací dobu na odemknutí bootloaderu. Zařízení Xiaomi, kromě Xiaomi Mi A1, Xiaomi Mi A2 a Xiaomi Mi A2 Lite se systémem Android v rámci programu Android One vyžadují k odemčení použití proprietárního nástroje Xiaomi Mi Unlock zavaděč. Po odeslání vašeho požadavku na odemknutí bootloaderu vás Mi Unlock donutí čekat, než váš požadavek ověří a bootloader odemkne. Čekací doba bývala 3 dny, než se na začátku roku 2018 zvýšila na 15 dní a nedávno se čekací doba zvýšila na 30 resp. až 60 dní v některých případech. (nová podznačka Xiaomi, Poco, zkrátil čekací dobu do 3 dnů po obdržení zpětné vazby od komunity téměř všichni ostatní musí ještě dlouho čekat.) Přidání doby čekání do procesu odemykání zavaděče účinně zpomalilo operace prodejců třetích stran, ale je také pochopitelně otravné pro nadšence, kteří chtějí odemknout bootloader, aby mohli rootovat své zařízení, flashovat vlastní ROM a flashovat vlastní jádra.

Autorizace EDL

Dále společnost začala zamykat režim EDL na svých zařízeních. EDL je zkratka pro Emergency Download Mode a je to alternativní bootovací režim na všech zařízeních Qualcomm, který se běžně používá k odblokování vašeho zařízení. Abyste mohli používat režim EDL, musíte najít to, čemu se říká „programátor“, který byl autorizován výrobcem OEM (Xiaomi) pro použití na vašem zařízení. Režim EDL je velmi silný a velmi nízké úrovnia běžně jej používají servisní střediska k opravám zařízení. Režim EDL se však běžně používal i k flashování oficiálních i upravených MIUI Global ROM na čínských zařízeních Xiaomi bez odemykání bootloaderu. V podstatě se EDL režim stal dalším způsobem, jak mohli prodejci třetích stran obejít Xiaomi. Xiaomi nechce, aby si spotřebitelé kupovali čínské verze jejich hardwaru s nainstalovanými Global ROM, a tak udělali dvě věci: Znemožnili spuštění globální ROM, pokud zařízení není globální verze (s varovnou zprávou „Toto MIUI nelze nainstalovat na toto zařízení“) a způsobilo to, že režim EDL nelze použít, pokud nemáte autorizované Mi účet.

Aktualizace: Máme další podrobnosti o nedávných omezeních, která společnost Xiaomi učinila ohledně flashování verze MIUI mimo region. Pokud uvažujete o importu smartphonu nebo tabletu Xiaomi, měli byste to opravdu udělat pro jistotu si přečtěte tento článek!

Anti-Rollback Protection

Nakonec implementovali ochranu proti vrácení zpět do nejnovějších verzí MIUI pro nejnovější zařízení Xiaomi. Možná jste již někdy slyšeli o ochraně proti zvrácení. Google přidána podpora pro funkci v systému Android 8.0 Oreo a to bylo povinné pro zařízení se systémem Android Pie. Ochrana Google proti vrácení zpět je součástí systému Android Verified Boot 2.0 (známého také jako Verified Boot) a zabrání spuštění zařízení, pokud zjistí, že zařízení bylo downgradováno na starší, neschválený software stavět. Ochrana proti vrácení zpět je nezbytná, aby se zabránilo útočníkům načítat starší software na zařízení, které je náchylné k zneužití. Největší rozdíl mezi implementací Google a Xiaomi je v tom, že ochrana Google proti vrácení zpět je deaktivována, pokud odemknete bootloader, zatímco Xiaomi nelze deaktivovat. Jakmile nainstalujete sestavení s povolenou ochranou proti vrácení zpět na zařízení Xiaomi, není cesty zpět. Například ochrana proti vrácení zpět je povolena pro Xiaomi Mi 8 a Xiaomi Redmi Note 5 Pro počínaje verzí MIUI 10 China 8.9.6 a MIUI 10 Global Beta 8.7.5.

Seznam zařízení, která mají aktuálně povolenou ochranu proti vrácení zpět. Zdroj: Xiaomi.eu.

Anti-rollback ochrana zabrání jakémukoli neautorizovanému prodejci ve využívání exploitů ve starších verzích MIUI, čímž ochrání uživatele před zneužitím. Mnoho však také zaskočilo, protože Xiaomi jej zavedlo do Redmi Note 5 Pro, aniž by předem informovalo uživatele. Protože TWRP nemá zavedeny žádné kontroly, které by uživatelům zabránily instalovat starší, neautorizované MIUI verze, mnoho lidí omylem zablokovalo svá zařízení, když downgradovali z MIUI beta ROM na MIUI stabilní ROM. Všechna aktuálně podporovaná zařízení Xiaomi nakonec získají ochranu proti vrácení zpět, takže je to neuvěřitelně důležité že rozumíte tomu, jak jej zkontrolovat před přechodem na nižší verzi a co můžete dělat, pokud je ochrana proti vrácení zpět povoleno.


Jak zkontrolovat Anti-Rollback Protection

Když jsme mluvili o ochraně proti vrácení zpět, která zabraňuje zařízení spouštět starší, nezabezpečený software, řekli jsme, že Verified Boot „detekuje“ přítomnost staršího softwaru. Tato detekce funguje tak, že Verified Boot má index vrácení, který se porovnává s indexem vrácení obrázků, které se mají nainstalovat. V závislosti na tom, jak se indexy návratu porovnávají, se stane následující:

  • Pokud je aktuální index vrácení zpět méně než index vrácení zpět v obrázcích, které mají být probliknuty, pak obrázky budou blikat a aktuální index vrácení bude zvýšen aby odpovídaly novému indexu vrácení.
  • Pokud je aktuální index vrácení zpět rovnat se k indexu vrácení v obrázcích, které mají být probliknuty, a poté na obrázky budou blikat a index vrácení se nezmění.
  • Pokud je aktuální index vrácení zpět větší než index vrácení zpět v obrázcích, které mají být probliknuty, pak obrázky budou odmítnuty Pokud jsi blikání přes fastboot nebo Mi Flash. (TWRP nekontroluje rollback indexy před blikáním, což je důvod, proč byly téměř všechny cihly výsledkem downgrade přes TWRP.)

Nyní, když lépe rozumíte indexu vrácení zpět, zde je návod, jak skutečně zkontrolovat aktuální index vrácení na vašem zařízení a obrázek, který chcete zobrazit.

Jak najít aktuální index vrácení zpět

  1. Restartujte do režimu rychlého spuštění
  2. Zadejte následující příkaz: fastboot getvar anti
  3. Pokud je výstup prázdný, pak anti-rollback ještě nebyl povolen. Pokud ve výstupu získáte číslo, pak je to váš aktuální index vrácení.
Aktuální index anti-rollback zařízení je 4.

Jak najít index vrácení obrázků

  1. Stáhněte si „fastboot“ ekvivalent ROM pro obnovení ROM, který se pokoušíte nainstalovat. ROM pro obnovení má v názvu souboru vždy marketingový název zařízení a končí příponou .zip. Fastboot ROM má vždy kódové jméno zařízení v názvu souboru a končí na .tar.gz.
  2. Extrahujte flash-all.bat z archivu .tar.gz. 7Zip si s tím hravě poradí.
  3. Otevřete flash-all.bat v textovém editoru, jako je Notepad++, a vyhledejte následující řádek: set CURRENT_ANTI_VER=#
  4. Toto číslo (#) je index vrácení verze MIUI, kterou chcete flashovat. Pokud je toto číslo stejné nebo větší než váš aktuální index vrácení, pak je bezpečné flashovat v TWRP, Mi Flash atd. Pokud je toto číslo menší než váš aktuální index vrácení, NEPŘEBÍHEJTE TUTO ROM PROSTŘEDNICTVÍM TWRP.
Úryvek z flash-all skriptu rychlého spouštění ROM

Vyhnout se plné, neobnovitelné cihle by mělo být jednoduché, pokud před downgradem přes TWRP zkontrolujete indexy vrácení. Pro jistotu byste měli zůstat u Mi Flash nebo fastboot a flashovat MIUI ROM jako váš telefon bootloader má vestavěné ochrany, které vám zabrání přejít na nižší verzi s nižším návratem zpět index.


Jak Anti-Rollback Protection ovlivňuje vlastní ROM?

Pokud plánujete, že už nikdy nebudete blikat MIUI, tak se toho pro vás moc nezmění. Pokud chcete flashovat AOSP ROM jako LineageOS, Pixel Experience, Resurrection Remix, Carbon ROM, atd., stále budete muset odemknout bootloader pomocí Mi Unlock, spustit TWRP a poté flashovat vlastní ROM. Jediným výrazným rozdílem je způsob instalace TWRP pomocí rychlého spuštění. Vzhledem k tomu, že ochrana proti vrácení zpět vám brání ve flashování obrázku TWRP, musíte nejprve flashnout „fiktivní“ obrázek. Falešný obraz je prázdný soubor, který neslouží k žádnému jinému účelu, než k odeslání příkazu do bootloaderu, takže ví, že poté může přijmout další záblesky. (Pokud se podíváte na skript flash-all z předchozí části, tak to Xiaomi oficiálně dělá.) Případně, můžete „rychle spustit“ obraz TWRP, přesunout obraz TWRP do úložiště vašeho zařízení a poté spustit obraz TWRP zevnitř TWRP. Neposkytuji podrobné pokyny k žádné metodě, protože vás žádám, abyste navštívili fórum vašeho zařízení, kde naleznete pokyny pro konkrétní zařízení.

Index fóra XDA pro všechna zařízení Xiaomi

Je tu však jedno upozornění. Neexistuje způsob, jak předem zjistit, zda byl index vrácení zpět zvýšen kvůli aktualizovanému zavaděči, modemu, dodavateli nebo jiným oddílům. Mějte na paměti, že vlastní ROM obvykle mění pouze systém a spouštěcí oddíly, ale aby bylo vaše zařízení skutečně zabezpečené pomocí nejnovějších aktualizací bezpečnostních oprav, občas potřebujete flashovat nejnovější obrázky, které jsou obsaženy v nejnovějších oficiálních MIUI ROM. Vývojáři vlastních ROM budou muset ručně zkontrolovat index vrácení z těchto sestavení ještě předtím, než vám doporučí aktualizaci – tak budete vědět, když vás nová aktualizace uzamkne v určitých verzích MIUI, pokud se plánujete vrátit k MIUI z AOSP ROM.


Co mám dělat, když jsem zablokoval svůj telefon?

Pokud jste svůj telefon zablokovali spuštěním ochrany proti převrácení, máte jen velmi málo možností.

  1. Odešlete zařízení k opravě do autorizovaného servisního střediska. Servisní střediska mají přístup k obnovení vašeho zařízení prostřednictvím režimu EDL.
  2. Doufám, že existuje způsob, jak obejít autorizaci EDL (v podstatě exploit), abyste mohli ručně obnovit své zařízení pomocí správného programátoru.

Jak vidíte, zablokování telefonu spuštěním ochrany proti převrácení není žádná legrace. Před flashováním jakékoli starší verze MIUI musíte být opravdu opatrní.


Často kladené otázky (FAQ)

  1. Čemu se mám vyvarovat, pokud nechci zablokovat své zařízení?
    • Neflashujte verzi MIUI s indexem vrácení nižším, než je aktuální index vrácení vašeho zařízení. Pokyny viz výše.
    • Neflashujte oficiální MIUI Global ROM na čínský hardware Xiaomi s uzamčeným bootloaderem.
  2. Mohu stále nainstalovat vlastní AOSP ROM, jádra, Magisk, Xposed, Substratum, ARISE a další mody?
    • Ano.
  3. Mohu stále přepínat mezi MIUI Global Stable, MIUI Global Developer, MIUI China Stable a MIUI China Developer?
    • Ano, ale před instalací starší verze MIUI musíte porovnat indexy vrácení.
  4. Proč Xiaomi nevypne ochranu proti vrácení zpět, když odemknete bootloader?
    • To je dobrá otázka.
  5. Proč Xiaomi tvrdě zablokuje váš telefon, pokud je spuštěna ochrana proti vrácení, což Google nedělá?
    • To je další dobrá otázka.
  6. Proč Xiaomi nezobrazuje standardní varování Verified Boot, aby uživateli neukázalo, že se softwarem bylo manipulováno?
    • Jste na seznamu s těmito skvělými otázkami! Ve vší vážnosti to může být poněkud oprávněné, protože je možné tuto úvodní obrazovku deaktivovat - alespoň na některých zařízeních.

Zvláštní poděkování patří XDA Recognized Developer yshalsager a XDA Junior Member franztesca za jejich pomoc v tomto článku!