Alle Xiaomi-smartphones og -tablets vil have anti-rollback-beskyttelse aktiveret. Hvad er det, og hvordan undgår du at mure din enhed til på grund af det?
Tilbage i juli, Xiaomi rullet ud MIUI 10 Global Beta 8.7.5 til otte Xiaomi-enheder. Da brugere installerede opdateringen på deres Xiaomi Redmi Note 5 Pro, blev de ubevidst flashede en bygning med anti-tilbageløbsbeskyttelse aktiveret. Brugere, der ikke kunne lide MIUI 10 Global Beta, fandt en ubehagelig overraskelse, da de forsøgte at geninstallere den seneste MIUI 9 Global Stable ROM: deres telefoner var murede! Dette var ikke den slags mursten, du kunne rette ved at gendanne en TWRP-sikkerhedskopi, flashe en ny ROM eller bruge MiFlash til at gendanne til et fabriksbillede. Dette er en hård, uoprettelig klods, der kræver brug af EDL-tilstand for at rette. Men EDL-tilstand er ikke tilgængelig, medmindre du har en autoriseret konto, så mange brugere stod tilbage uden mulighed for at rette op deres telefon undtagen at sende den til et autoriseret servicecenter eller betale for at bruge en andens konto hos EDL adgang. I denne artikel vil vi forklare alt, hvad du behøver at vide om Xiaomis nye anti-tilbageføringsbeskyttelse, så du kan undgå at mure din nye telefon til.
Hvorfor kræver Xiaomi lange ventetider for oplåsning af bootloader, EDL-autorisation og Anti-Rollback Protection?
Den kinesiske elektronikgigant Xiaomi er det mest populære smartphonemærke i Indien takket være deres brede udvalg af budget- og mellemklasseenheder. Ligesom Huawei sælger Xiaomi også et væld af smartphones på deres hjemmemarked i Kina. Mange af disse enheder sælges aldrig uden for Kina, men det forhindrer ikke folk i at importere dem. Uofficielle forhandlere af Xiaomi-produkter er dukket op på Aliexpress, Gearbest og andre masser af andre websteder, hvilket giver alle uden for Kina mulighed for at købe de nyeste Xiaomi-produkter. Dette har været en udfordring for virksomheden som den software, de sender på deres kinesiske enheder, kaldet "MIUI Kina," indeholder ikke Google Play-tjenester, Google Play Butik eller andre sprog end engelsk eller Mandarin. Derfor bør enhver, der importerer en Xiaomi-enhed fra Kina, ikke få Google-apps og -tjenester uden for boksen.
Tredjepartsforhandlere fandt dog ud af en vej rundt om dette, så de kunne overbevise kunder om, at de solgte Xiaomi-enheder med en "officiel" MIUI Global ROM. Forhandlerne ville købe Xiaomi-enheder i løs vægt, låse op for bootloaderen, ændre softwaren selv eller flashe en brugerdefineret ROM som Xiaomi.eu (uofficielle ROM'er baseret på MIUI Kina, men med flere sprog og funktioner), og sælg derefter enheden. De fleste forbrugere ville ikke have nogen mulighed for at vide, at de kører uofficiel/modificeret software, og ville i stedet bebrejde Xiaomi for mangel på opdateringer eller fejl, de støder på. Endnu værre, nogle forhandlere ville med vilje samle malware eller adware, så de kunne tjene lidt ekstra penge. Xiaomis omdømme blev aktivt skadet af denne praksis, da tekniske anmeldere og forbrugere blev fanget i ordningerne med disse uofficielle forhandlere, og derfor skulle de finde på en måde at stoppe lyssky forhandlere i at sælge modificerede enheder i bulk.
En løsning er fuldstændigt at blokere oplåsning af bootloader, hvilket er en drastiske skridt, som Huawei for nylig tog. Da Xiaomi ser deres brands succes blandt entusiaster, har Xiaomi ikke flyttet til at blokere oplåsning af bootloader endnu. I stedet har de implementeret nogle få vejspærringer for at beskytte brugerne mod handlinger fra ondsindede tredjepartshandlere.
Bootloader Lås ventetider op
Først implementerede de en venteperiode for oplåsning af bootloader. Xiaomi-enheder, undtagen Xiaomi Mi A1, Xiaomi Mi A2 og Xiaomi Mi A2 Lite, som kører lager Android under Android One-programmet, kræve brug af Xiaomis proprietære Mi Unlock-værktøj for at låse op bootloader. Efter at have sendt din anmodning om at låse bootloaderen op, tvinger Mi Unlock dig til at vente, før den validerer din anmodning og låser bootloaderen op. Ventetiden plejede at være 3 dage, før den steg til 15 dage i begyndelsen af 2018, og for nylig er ventetiden steget til 30 hhv. så højt som 60 dage i nogle tilfælde. (Xiaomis nye undermærke, Poco, sænket ventetiden til 3 dage efter at have modtaget feedback fra fællesskabet, selvom Næsten alle andre skal stadig vente længe.) Tilføjelse af en ventetid til bootloader-oplåsningsprocessen var effektiv til at bremse tredjeparts-forhandlernes drift, men det er også forståeligt irriterende for entusiaster, der ønsker at låse bootloaderen op for at roote deres enhed, flashe tilpassede ROM'er og flash custom kerner.
EDL-autorisation
Dernæst begyndte virksomheden at låse EDL-tilstand på deres enheder. EDL står for Emergency Download Mode, og det er en alternativ opstartstilstand på alle Qualcomm-enheder, der almindeligvis bruges til at fjerne mursten på din enhed. For at bruge EDL-tilstand skal du finde det, der kaldes en "programmør", der er godkendt af OEM (Xiaomi) til brug på din enhed. EDL-tilstand er meget kraftfuld og meget lavt niveau, og det bruges rutinemæssigt af servicecentre til at reparere enheder. EDL-tilstand blev dog også almindeligvis brugt til at flashe både officielle og modificerede MIUI Global ROM'er på kinesiske Xiaomi-enheder uden at låse bootloaderen op. I det væsentlige blev EDL-tilstand en anden måde, hvorpå tredjepartsforhandlere kunne omgå Xiaomi. Xiaomi ønsker ikke, at forbrugere køber kinesiske versioner af deres hardware med Global ROM'er installeret, så de gjorde to ting: Gjorde det umuligt at starte en Global ROM, hvis enheden er ikke en global version (med advarselsmeddelelsen "Denne MIUI kan ikke installeres på denne enhed") og gjorde det så EDL-tilstanden ikke kan bruges, medmindre du har en autoriseret Mi konto.
Opdatering: Vi har flere detaljer om de seneste begrænsninger, Xiaomi har lavet med hensyn til at blinke en MIUI-version uden for regionen. Hvis du overvejer at importere en Xiaomi smartphone eller tablet, bør du virkelig læs denne artikel for at være sikker!
Anti-Rulback Beskyttelse
Endelig implementerede de anti-tilbageføringsbeskyttelse i de seneste versioner af MIUI til de nyeste Xiaomi-enheder. Du har måske hørt om anti-rollback beskyttelse før. Google tilføjet støtte for funktionen i Android 8.0 Oreo og gjorde det obligatorisk til enheder, der starter med Android Pie. Googles anti-rollback-beskyttelse er en funktion af Android Verified Boot 2.0 (også kendt som Verified Boot), og det forhindrer enheden i at starte, hvis den registrerer, at enheden er blevet nedgraderet til en ældre, ikke-godkendt software bygge. Anti-rollback-beskyttelse er nødvendig for at forhindre angribere i at indlæse ældre software på en enhed, der er modtagelig for en udnyttelse. Den største forskel mellem Google og Xiaomis implementering er, at Googles anti-rollback-beskyttelse er deaktiveret, hvis du låser bootloaderen op, mens Xiaomis ikke kan deaktiveres. Når du først har installeret en build med anti-tilbageføringsbeskyttelse aktiveret på en Xiaomi-enhed, er der ingen vej tilbage. For eksempel er anti-rulningsbeskyttelse aktiveret for Xiaomi Mi 8 og Xiaomi Redmi Note 5 Pro, der starter i henholdsvis MIUI 10 China 8.9.6 og MIUI 10 Global Beta 8.7.5.
Anti-rollback-beskyttelse vil forhindre enhver uautoriseret forhandler i at drage fordel af udnyttelser i ældre MIUI-versioner og dermed beskytte brugere mod udnyttelse. Det har dog også overrumplet mange, fordi Xiaomi rullede det ud til Redmi Note 5 Pro uden at informere brugerne på forhånd. Fordi TWRP ikke har nogen kontrol på plads for at forhindre brugere i at installere ældre, uautoriseret MIUI versioner, murede mange mennesker ved et uheld deres enheder, da de nedgraderede fra en MIUI beta ROM til en MIUI stabil ROM. Alle aktuelt understøttede Xiaomi-enheder vil i sidste ende få anti-tilbagerrulningsbeskyttelse, så det er utrolig vigtigt at du forstår, hvordan du tjekker for det, før du nedgraderer, og hvad du kan gøre, hvis anti-tilbagerrulningsbeskyttelse er aktiveret.
Sådan tjekker du for Anti-Rollback Protection
Da vi talte om anti-rollback beskyttelse forhindrer en enhed i at starte ældre, usikker software, sagde vi, at Verified Boot "detekterer" tilstedeværelsen af ældre software. Sådan fungerer denne registrering, at Verified Boot har et rollback-indeks, der sammenlignes med rollback-indekset for de billeder, der skal installeres. Afhængigt af hvordan rollback-indeksene sammenlignes, vil følgende ske:
- Hvis det aktuelle rollback-indeks er mindre end rollback-indekset i de billeder, der skal flashes, derefter billeder vil blive blinket og nuværende tilbagerulningsindeks vil blive øget for at matche det nye rollback-indeks.
- Hvis det aktuelle rollback-indeks er lige til tilbagerulningsindekset i de billeder, der skal flashes, derefter billeder vil blive blinket og rollback-indekset ændres ikke.
- Hvis det aktuelle rollback-indeks er større end rollback-indekset i de billeder, der skal flashes, derefter billeder vil blive afvist hvis du er blinker via fastboot eller Mi Flash. (TWRP kontrollerer ikke rollback-indeksene, før de blinker, hvilket er grunden til, at næsten alle klodser var resultatet af nedgradering via TWRP.)
Nu hvor du har en bedre forståelse af rollback-indekset, kan du se her, hvordan du faktisk kontrollerer det aktuelle rollback-indeks på din enhed og det billede, du vil blinke.
Sådan finder du det aktuelle rollback-indeks
- Genstart til fastboot-tilstand
- Indtast følgende kommando:
fastboot getvar anti
- Hvis outputtet er tomt, så er anti-rollback endnu ikke blevet aktiveret. Hvis du får et tal i outputtet, så er det dit nuværende rollback-indeks.
Sådan finder du rollback-indeks af billeder
- Download "fastboot" ROM-ækvivalenten til den gendannelses-ROM, du forsøger at installere. Gendannelses-ROM'en har altid enhedens markedsføringsnavn i filnavnet og ender på .zip. Fastboot ROM'en har altid enhedens kodenavn i filnavnet og ender på .tar.gz.
- Udpak flash-all.bat fra .tar.gz-arkivet. 7Zip kan sagtens klare dette.
- Åbn flash-all.bat i en teksteditor som Notepad++ og se efter følgende linje:
set CURRENT_ANTI_VER=#
- Dette tal (#) er rollback-indekset for den MIUI-version, du vil flashe. Hvis dette tal er lig med eller større end dit nuværende rollback-indeks, er det sikkert at blinke i TWRP, Mi Flash osv. Hvis dette tal er mindre end dit nuværende rollback-indeks, MÅ IKKE FLASH DENNE ROM VIA TWRP.
At undgå en fuld, uoprettelig klods bør være enkel, så længe du tjekker rollback-indekserne, før du nedgraderer via TWRP. Bare for at være sikker, bør du holde dig til Mi Flash eller fastboot for at flashe MIUI ROM'er som din telefons bootloader har indbyggede beskyttelser for at forhindre dig i at nedgradere til en version med en lavere rollback indeks.
Hvordan påvirker Anti-Rollback Protection brugerdefinerede ROM'er?
Hvis du planlægger aldrig at blinke MIUI igen, så vil ikke meget ændre sig for dig. Hvis du vil flashe en AOSP ROM som LineageOS, Pixel Experience, Resurrection Remix, Carbon ROM, osv., skal du stadig låse opstartsindlæseren op via Mi Unlock, starte TWRP og derefter flashe den brugerdefinerede ROM. Den eneste bemærkelsesværdige forskel er, hvordan du installerer TWRP via fastboot. Da anti-tilbagerrulningsbeskyttelse blokerer dig for at flashe TWRP-billedet, skal du først flashe et "dummy"-billede. Dummy-billedet er en tom fil, der ikke tjener andet formål end at sende en kommando til bootloaderen, så den ved, at den bagefter kan acceptere andre blink. (Hvis du ser på flash-all-scriptet fra det forrige afsnit, er det faktisk sådan, Xiaomi officielt gør det.) Alternativt, du kan "fastboot boote" TWRP-billedet, flytte TWRP-billedet til din enheds lager og derefter flashe TWRP-billedet indefra TWRP. Jeg giver ikke detaljerede instruktioner om nogen af metoderne, da jeg opfordrer dig til at besøge din enheds forum for enhedsspecifikke instruktioner.
XDA Forum Index til alle Xiaomi-enheder
Der er dog en advarsel. Der er ingen måde at fortælle på forhånd, om rollback-indekset er blevet forøget på grund af en opdateret bootloader, modem, leverandør eller andre partitioner. Husk på, at brugerdefinerede ROM'er normalt kun ændrer system- og bootpartitionerne, men for at holde din enhed virkelig sikker med de seneste sikkerhedsopdateringer, skal du lejlighedsvis nødt til at flashe de seneste billeder, der er indeholdt i de seneste officielle MIUI ROM'er. Udviklere af brugerdefinerede ROM'er bliver nødt til manuelt at kontrollere rollback-indekset af disse builds, før de anbefaler dig at opdatere - på den måde ved du, hvornår en ny opdatering låser dig til bestemte MIUI-versioner, hvis du planlægger at gå tilbage til MIUI fra en AOSP ROM.
Hvad gør jeg, hvis jeg murede min telefon til?
Hvis du murede din telefon til ved at udløse anti-tilbagerulningsbeskyttelse, har du meget få muligheder.
- Send din enhed til et autoriseret servicecenter til reparation. Servicecentrene har adgang til at gendanne din enhed via EDL-tilstand.
- Håber, at der på en eller anden måde er en måde at omgå EDL-autorisation (i det væsentlige en udnyttelse), så du manuelt kan gendanne din enhed med den rigtige programmør.
Som du kan se, er det ingen spøg at mure din telefon ved at udløse anti-tilbagerrulningsbeskyttelse. Du skal virkelig være forsigtig, før du flasher en ældre MIUI-version.
Ofte stillede spørgsmål (ofte stillede spørgsmål)
- Hvad undgår jeg, hvis jeg ikke vil mure min enhed?
- Flash ikke en MIUI-version med et tilbagerulningsindeks, der er mindre end din enheds nuværende tilbagerulningsindeks. Se ovenfor for instruktioner.
- Flash ikke en officiel MIUI Global ROM på kinesisk Xiaomi-hardware med en låst bootloader.
- Kan jeg stadig installere brugerdefinerede AOSP ROM'er, kerner, Magisk, Xposed, Substratum, ARISE og andre mods?
- Ja.
- Kan jeg stadig skifte mellem MIUI Global Stable, MIUI Global Developer, MIUI China Stable og MIUI China Developer?
- Ja, men du skal sammenligne rollback-indekserne, før du installerer en ældre MIUI-version.
- Hvorfor deaktiverer Xiaomi ikke anti-rollback-beskyttelse, når du låser bootloaderen op?
- Det er et godt spørgsmål.
- Hvorfor klodser Xiaomi hårdt på din telefon, hvis anti-rollback-beskyttelse udløses, hvilket Google ikke gør?
- Det er et andet godt spørgsmål.
- Hvorfor viser Xiaomi ikke standardadvarslen Verified Boot for at vise brugeren, at softwaren er blevet manipuleret med?
- Du er i gang med disse gode spørgsmål! I fuld alvor kan denne være noget retfærdiggjort, fordi det er muligt at deaktivere denne splash-skærm - i hvert fald på nogle enheder.
Særlig tak til XDA Recognized Developer yshalsager og XDA Junior medlem frantztesca for deres hjælp i denne artikel!