Xiaomis Anti-Rollback förklaras: Hur du undviker att mura din telefon

Alla Xiaomi-smarttelefoner och surfplattor kommer att ha anti-återställningsskydd aktiverat. Vad är det och hur undviker du att mura din enhet på grund av det?

Tillbaka i juli, Xiaomi utrullad MIUI 10 Global Beta 8.7.5 för åtta Xiaomi-enheter. När användare installerade uppdateringen på sin Xiaomi Redmi Note 5 Pro, de omedvetet blixtrade ett bygge med antirullningsskydd aktiverat. Användare som inte gillade MIUI 10 Global Beta fick en otäck överraskning när de försökte installera om den senaste MIUI 9 Global Stable ROM: deras telefoner var murade! Det här var inte den typ av kloss som du kunde fixa genom att återställa en TWRP-säkerhetskopia, flasha en ny ROM eller använda MiFlash för att återställa till en fabriksavbildning. Detta är en hård, oåterställbar kloss som kräver användning av EDL-läge för att fixa. Men EDL-läget är inte tillgängligt om du inte har ett auktoriserat konto, så många användare lämnades utan möjlighet att fixa sin telefon förutom att skicka in den till ett auktoriserat servicecenter eller betala för att använda någons konto hos EDL tillgång. I den här artikeln kommer vi att förklara allt du behöver veta om Xiaomis nya anti-återställningsskydd så att du kan undvika att mura din nya telefon.


Varför kräver Xiaomi långa väntetider för upplåsning av bootloader, EDL-auktorisering och Anti-Rollback Protection?

Den kinesiska elektronikjätten Xiaomi är det populäraste smartphonemärket i Indien tack vare deras breda utbud av budget- och medelstora enheter. Precis som Huawei säljer Xiaomi också massor av smartphones på sin hemmamarknad i Kina. Många av dessa enheter säljs aldrig utanför Kina, men det hindrar inte människor från att importera dem. Inofficiella återförsäljare för Xiaomi-produkter har dykt upp på Aliexpress, Gearbest och andra massor av andra webbplatser, vilket gör att alla utanför Kina kan köpa de senaste Xiaomi-produkterna. Detta har inneburit en utmaning för företaget eftersom programvaran de skickar på sina kinesiska enheter, kallad "MIUI Kina” innehåller inte Google Play-tjänster, Google Play Butik eller andra språk än engelska eller Mandarin. Därför bör alla som importerar en Xiaomi-enhet från Kina inte få Googles appar och tjänster utanför lådan.

Tredjepartsåterförsäljare kom dock på en väg runt detta så att de kunde övertyga kunderna om att de sålde Xiaomi-enheter med en "officiell" MIUI Global ROM. Återförsäljarna skulle köpa Xiaomi-enheter i bulk, låsa upp bootloadern, ändra programvaran själva eller flasha en anpassad ROM som Xiaomi.eu (inofficiella ROM baserade på MIUI Kina men med fler språk och funktioner), och sälj sedan enheten. De flesta konsumenter skulle inte ha något sätt att veta att de kör inofficiell/modifierad programvara och skulle istället skylla på Xiaomi för bristen på uppdateringar eller buggar de stöter på. Ännu värre, vissa återförsäljare skulle avsiktligt paketera skadlig programvara eller adware så att de kunde tjäna lite extra pengar. Xiaomis rykte skadades aktivt av denna praxis när tekniska granskare och konsumenter fastnade i planerna för dessa inofficiella återförsäljare, och därför behövde de komma på ett sätt att stoppa skumma återförsäljare från att sälja modifierade enheter i bulk.

En lösning är att helt blockera upplåsning av bootloader, vilket är en drastiskt drag som Huawei nyligen tog. Efter att ha sett deras varumärkes framgång bland entusiaster har Xiaomi inte övergått till att blockera upplåsning av bootloader än. Istället har de implementerat några vägspärrar för att skydda användarna mot handlingar från illvilliga tredjepartsåterförsäljare.

Bootloader Lås upp väntetider

Först implementerade de en väntetid för upplåsning av bootloader. Xiaomi-enheter, förutom Xiaomi Mi A1, Xiaomi Mi A2 och Xiaomi Mi A2 Lite som kör lager Android under Android One-programmet, kräver användning av Xiaomis proprietära Mi Unlock-verktyg för att låsa upp bootloader. Efter att ha skickat din begäran om att låsa upp starthanteraren, tvingar Mi Unlock dig att vänta innan den validerar din begäran och låser upp starthanteraren. Väntetiden brukade vara 3 dagar innan den ökade till 15 dagar i början av 2018, och nyligen har väntetiden ökat till 30 resp. så högt som 60 dagar i vissa fall. (Xiaomis nya undermärke, Poco, sänkte väntetiden till 3 dagar efter att ha fått feedback från samhället, dock nästan alla andra måste fortfarande vänta länge.) Att lägga till en väntetid till upplåsningsprocessen för bootloader var effektivt för att sakta ner verksamheten hos tredjepartsåterförsäljare, men det är också förståeligt irriterande för entusiaster som vill låsa upp bootloadern för att rota sin enhet, flasha anpassade ROM och flash custom kärnor.

EDL-auktorisering

Därefter började företaget låsa EDL-läget på sina enheter. EDL står för Emergency Download Mode, och det är ett alternativt startläge på alla Qualcomm-enheter som vanligtvis används för att ta bort din enhet. För att kunna använda EDL-läge måste du hitta vad som kallas en "programmerare" som har auktoriserats av OEM (Xiaomi) för användning på din enhet. EDL-läget är väldigt mäktig och mycket låg nivå, och det används rutinmässigt av servicecenter för att reparera enheter. EDL-läget användes dock ofta för att flasha både officiella och modifierade MIUI Global ROM på kinesiska Xiaomi-enheter utan att låsa upp starthanteraren. I huvudsak blev EDL-läget ett annat sätt som tredjepartsåterförsäljare kunde kringgå Xiaomi. Xiaomi vill inte att konsumenter köper kinesiska versioner av sin hårdvara med Global ROM installerad, så de gjorde två saker: gjorde det omöjligt att starta upp en Global ROM om enheten är inte en global version (med varningsmeddelandet "Denna MIUI kan inte installeras på den här enheten") och gjorde det så att EDL-läget inte kan användas om du inte har en auktoriserad Mi konto.

Uppdatering: Vi har mer information om de senaste begränsningarna som Xiaomi gjort när det gäller att blinka en MIUI-version utanför regionen. Om du funderar på att importera en Xiaomi-smarttelefon eller surfplatta borde du verkligen göra det läs över denna artikel för att vara säker!

Anti-rollback skydd

Slutligen implementerade de anti-återställningsskydd i de senaste versionerna av MIUI för de senaste Xiaomi-enheterna. Du kanske har hört talas om anti-rollback-skydd tidigare. Google lagt till stöd för funktionen i Android 8.0 Oreo och gjort det obligatoriskt för enheter som startar med Android Pie. Googles anti-återställningsskydd är en funktion i Android Verified Boot 2.0 (även känd som Verified Boot) och det förhindrar att enheten startar om den upptäcker att enheten har nedgraderats till en äldre, ej godkänd programvara bygga. Återställningsskydd är nödvändigt för att förhindra angripare från att ladda äldre programvara på en enhet som är känslig för en exploatering. Den största skillnaden mellan Google och Xiaomis implementering är att Googles anti-återställningsskydd är inaktiverat om du låser upp bootloadern medan Xiaomis inte kan inaktiveras. När du väl har installerat en build med anti-återställningsskydd aktiverat på en Xiaomi-enhet finns det ingen återvändo. Till exempel är anti-återställningsskydd aktiverat för Xiaomi Mi 8 och Xiaomi Redmi Note 5 Pro från och med MIUI 10 China 8.9.6 respektive MIUI 10 Global Beta 8.7.5.

Lista över enheter som för närvarande har anti-återställningsskydd aktiverat. Källa: Xiaomi.eu.

Återställningsskydd kommer att stoppa alla obehöriga återförsäljare från att dra fördel av utnyttjande i äldre MIUI-versioner, vilket skyddar användare från utnyttjande. Men det har också fångat många eftersom Xiaomi rullade ut det till Redmi Note 5 Pro utan att informera användarna i förväg. Eftersom TWRP inte har några kontroller på plats för att hindra användare från att installera äldre, obehörig MIUI versioner, murade många människor av misstag sina enheter när de nedgraderade från en MIUI beta ROM till en MIUI stabil ROM. Alla för närvarande stödda Xiaomi-enheter kommer så småningom att få anti-återställningsskydd, så det är otroligt viktigt att du förstår hur du kontrollerar det innan du nedgraderar och vad du kan göra om anti-rollback-skydd är aktiverad.


Hur man kontrollerar anti-återrullningsskydd

När vi pratade om anti-återställningsskydd som förhindrar en enhet från att starta upp äldre, osäker programvara, sa vi att Verified Boot "upptäcker" förekomsten av äldre programvara. Hur den här upptäckten fungerar är att Verified Boot har ett återställningsindex som jämförs med återställningsindexet för de bilder som ska installeras. Beroende på hur återställningsindexen jämförs kommer följande att hända:

  • Om det aktuella återställningsindexet är mindre än återställningsindexet i bilderna som ska flashas, ​​sedan bilder kommer att blinka och den nuvarande återställningsindex kommer att ökas för att matcha det nya återställningsindexet.
  • Om det aktuella återställningsindexet är likvärdig till återställningsindexet i bilderna som ska flashas, ​​sedan bilder kommer att blinka och den återställningsindex kommer inte att ändras.
  • Om det aktuella återställningsindexet är större än återställningsindexet i bilderna som ska flashas, ​​sedan bilder kommer att avvisas om du är blinkar via fastboot eller Mi Flash. (TWRP kontrollerar inte återställningsindexen innan de blinkar, vilket är anledningen till att nästan alla klossar var resultatet av nedgradering via TWRP.)

Nu när du har en bättre förståelse för återställningsindexet, så här kontrollerar du faktiskt det aktuella återställningsindexet på din enhet och bilden du vill visa.

Hur man hittar aktuellt återställningsindex

  1. Starta om till snabbstartläge
  2. Ange följande kommando: fastboot getvar anti
  3. Om utgången är tom har anti-återställning ännu inte aktiverats. Om du får ett nummer i utgången är det ditt nuvarande återställningsindex.
Aktuellt anti-återställningsindex för enheten är 4.

Hur man hittar återställningsindex för bilder

  1. Ladda ner "fastboot" ROM-motsvarigheten till det återställnings-ROM du försöker installera. Återställnings-ROM har alltid enhetens marknadsföringsnamn i filnamnet och slutar på .zip. Fastboot ROM har alltid enhetens kodnamn i filnamnet och slutar på .tar.gz.
  2. Extrahera flash-all.bat från .tar.gz-arkivet. 7Zip klarar detta enkelt.
  3. Öppna flash-all.bat i en textredigerare som Notepad++ och leta efter följande rad: set CURRENT_ANTI_VER=#
  4. Det numret (#) är återställningsindexet för MIUI-versionen du vill blinka. Om det siffran är lika med eller större än ditt nuvarande återställningsindex är det säkert att blinka i TWRP, Mi Flash, etc. Om siffran är lägre än ditt nuvarande återställningsindex, FLASH INTE DENNA ROM VIA TWRP.
Utdrag från flash-all-skriptet för ett fastboot-ROM

Att undvika en hel, oåterställbar kloss bör vara enkelt så länge du kontrollerar återställningsindexen innan du nedgraderar via TWRP. Bara för att vara säker bör du hålla dig till Mi Flash eller fastboot för att flasha MIUI ROMs som din telefon bootloader har inbyggda skydd för att förhindra att du nedgraderar till en version med lägre återställning index.


Hur påverkar anti-återställningsskydd anpassade ROM-skivor?

Om du planerar att aldrig blinka MIUI igen, kommer inte mycket att förändras för dig. Om du vill flasha en AOSP ROM som LineageOS, Pixel Experience, Resurrection Remix, Carbon ROM, etc., måste du fortfarande låsa upp starthanteraren via Mi Unlock, starta TWRP och sedan flasha den anpassade ROM. Den enda anmärkningsvärda skillnaden är hur du installerar TWRP via fastboot. Eftersom anti-rollback-skydd blockerar dig från att flasha TWRP-bilden måste du först flasha en "dummy"-bild. Blindbilden är en tom fil som inte tjänar något annat syfte än att skicka ett kommando till starthanteraren så att den vet att den efteråt kan acceptera andra blinkningar. (Om du tittar på flash-all-skriptet från föregående avsnitt är det faktiskt så här Xiaomi officiellt gör det.) Alternativt, du kan "snabbstarta" TWRP-avbildningen, flytta TWRP-avbildningen till enhetens lagring och sedan flasha TWRP-avbildningen inifrån TWRP. Jag ger inte detaljerade instruktioner om någon av metoderna eftersom jag uppmanar dig att besöka enhetens forum för enhetsspecifika instruktioner.

XDA Forum Index för alla Xiaomi-enheter

Det finns dock en varning. Det finns inget sätt att säga i förväg om återställningsindexet har ökats på grund av en uppdaterad bootloader, modem, leverantör eller andra partitioner. Tänk på att anpassade ROM vanligtvis bara ändrar system- och startpartitionerna, men för att hålla din enhet riktigt säker med de senaste säkerhetsuppdateringarna kommer du behöver ibland flasha de senaste bilderna som finns i de senaste officiella MIUI ROM: erna. Utvecklare av anpassade ROM måste manuellt kontrollera återställningsindexet av dessa versioner innan de rekommenderar dig att uppdatera – på så sätt kommer du att veta när en ny uppdatering låser dig till vissa MIUI-versioner om du planerar att gå tillbaka till MIUI från en AOSP ROM.


Vad gör jag om jag murade min telefon?

Om du murade din telefon genom att utlösa anti-backback-skydd har du väldigt få alternativ.

  1. Skicka din enhet till ett auktoriserat servicecenter för reparation. Servicecentren har tillgång till att återställa din enhet via EDL-läge.
  2. Hoppas att det på något sätt finns ett sätt att kringgå EDL-auktorisering (i huvudsak en exploatering) så att du manuellt kan återställa din enhet med rätt programmerare.

Som du kan se är det inget skämt att mura din telefon genom att utlösa anti-backback-skydd. Du måste verkligen vara försiktig innan du flashar någon äldre MIUI-version.


Vanliga frågor (FAQs)

  1. Vad undviker jag om jag inte vill mura min enhet?
    • Flasha inte en MIUI-version med ett återställningsindex som är mindre än enhetens nuvarande återställningsindex. Se ovan för instruktioner.
    • Flasha inte en officiell MIUI Global ROM på kinesisk Xiaomi-hårdvara med en låst bootloader.
  2. Kan jag fortfarande installera anpassade AOSP-ROM, kärnor, Magisk, Xposed, Substratum, ARISE och andra moddar?
    • Ja.
  3. Kan jag fortfarande växla mellan MIUI Global Stable, MIUI Global Developer, MIUI China Stable och MIUI China Developer?
    • Ja, men du måste jämföra återställningsindexen innan du installerar en äldre MIUI-version.
  4. Varför inaktiverar inte Xiaomi anti-återställningsskydd när du låser upp starthanteraren?
    • Det är en bra fråga.
  5. Varför murar Xiaomi din telefon hårt om anti-backback-skydd utlöses, vilket Google inte gör?
    • Det är en annan bra fråga.
  6. Varför visar inte Xiaomi standardvarningen Verified Boot för att visa användaren att programvaran har manipulerats?
    • Du är på gång med dessa fantastiska frågor! På fullaste allvar kan den här vara något motiverad eftersom det är möjligt att inaktivera den här startskärmen - åtminstone på vissa enheter.

Speciellt tack till XDA Recognized Developer yshalsager och XDA Junior Member frantztesca för deras hjälp i den här artikeln!