Xiaomis Anti-Rollback Forklart: Hvordan unngå murstein på telefonen

Alle Xiaomi-smarttelefoner og nettbrett vil ha anti-rollback-beskyttelse aktivert. Hva er det og hvordan unngår du å mure enheten din på grunn av det?

Tilbake i juli, Xiaomi rullet ut MIUI 10 Global Beta 8.7.5 for åtte Xiaomi-enheter. Når brukere installerte oppdateringen på Xiaomi Redmi Note 5 Pro, de uvitende blinket en build med anti-rollback beskyttelse aktivert. Brukere som ikke likte MIUI 10 Global Beta, fant en stygg overraskelse da de prøvde å reinstallere den nyeste MIUI 9 Global Stable ROM: telefonene deres var murt! Dette var ikke den typen murstein du kunne fikse ved å gjenopprette en TWRP-sikkerhetskopi, flashe en ny ROM eller bruke MiFlash for å gjenopprette til et fabrikkbilde. Dette er en hard, uopprettelig kloss som krever bruk av EDL-modus for å fikse. Men EDL-modus er ikke tilgjengelig med mindre du har en autorisert konto, så mange brukere hadde ingen mulighet til å fikse telefonen deres bortsett fra å sende den inn til et autorisert servicesenter eller betale for å bruke noens konto hos EDL adgang. I denne artikkelen skal vi forklare alt du trenger å vite om Xiaomis nye anti-tilbakerullingsbeskyttelse, slik at du kan unngå murstein på den nye telefonen.


Hvorfor krever Xiaomi lange ventetider for oppstartslasteropplåsing, EDL-autorisasjon og Anti-Rollback Protection?

Den kinesiske elektronikkgiganten Xiaomi er det mest populære smarttelefonmerket i India takket være deres brede utvalg av budsjett- og mellomstore enheter. I likhet med Huawei, selger Xiaomi også massevis av smarttelefoner på hjemmemarkedet i Kina. Mange av disse enhetene selges aldri utenfor Kina, men det hindrer ikke folk i å importere dem. Uoffisielle forhandlere for Xiaomi-produkter har dukket opp på Aliexpress, Gearbest og mange andre nettsteder, slik at alle utenfor Kina kan kjøpe de nyeste Xiaomi-produktene. Dette har vært en utfordring for selskapet som programvaren de sender på sine kinesiske enheter, kalt "MIUI Kina," inneholder ikke Google Play-tjenester, Google Play-butikken eller andre språk enn engelsk eller Mandarin. Derfor bør ikke alle som importerer en Xiaomi-enhet fra Kina få Google-apper og -tjenester utenfor boksen.

Tredjepartsforhandlere fant imidlertid ut en vei rundt dette slik at de kunne overbevise kunder om at de solgte Xiaomi-enheter med en "offisiell" MIUI Global ROM. Forhandlerne ville kjøpe Xiaomi-enheter i bulk, låse opp bootloaderen, endre programvaren selv eller flashe en tilpasset ROM som Xiaomi.eu (uoffisielle ROM-er basert på MIUI Kina, men med flere språk og funksjoner), og deretter selge enheten. De fleste forbrukere ville ikke ha noen måte å vite at de kjører uoffisiell/modifisert programvare, og ville i stedet klandre Xiaomi for mangel på oppdateringer eller feil de møter. Enda verre, noen forhandlere ville med vilje samle skadevare eller adware slik at de kunne tjene litt ekstra penger. Xiaomis rykte ble aktivt skadet av denne praksisen da tekniske anmeldere og forbrukere ble fanget opp i ordningene med disse uoffisielle forhandlerne, og derfor måtte de finne en måte å stoppe lyssky forhandlere fra å selge modifiserte enheter i bulk.

En løsning er å fullstendig blokkere opplåsing av bootloader, som er en drastisk grep som Huawei nylig tok. Etter å ha sett merkevarens suksess blant entusiaster, har Xiaomi ikke gått over til å blokkere opplåsing av bootloader ennå. I stedet har de implementert noen få veisperringer for å beskytte brukere mot handlinger fra ondsinnede tredjepartsforhandlere.

Bootloader Lås opp ventetider

Først implementerte de en venteperiode for opplåsing av bootloader. Xiaomi-enheter, bortsett fra Xiaomi Mi A1, Xiaomi Mi A2 og Xiaomi Mi A2 Lite som kjører lager Android under Android One-programmet krever bruk av Xiaomis proprietære Mi Unlock-verktøy for å låse opp bootloader. Etter å ha sendt forespørselen din om å låse opp bootloaderen, tvinger Mi Unlock deg til å vente før den validerer forespørselen din og låser opp bootloaderen. Ventetiden pleide å være 3 dager før den økte til 15 dager tidlig i 2018, og nylig har ventetiden økt til 30 eller så høyt som 60 dager i noen tilfeller. (Xiaomis nye undermerke, Poco, senket ventetiden til 3 dager etter å ha mottatt tilbakemelding fra fellesskapet, men nesten alle andre må fortsatt vente lenge.) Å legge til en ventetid til opplåsingsprosessen for oppstartslasteren var effektivt for å bremse driften til tredjepartsforhandlere, men det er også forståelig irriterende for entusiaster som ønsker å låse opp bootloaderen for å roote enheten sin, flashe tilpassede ROM-er og flash custom kjerner.

EDL-autorisasjon

Deretter begynte selskapet å låse ned EDL-modus på enhetene deres. EDL står for Emergency Download Mode, og det er en alternativ oppstartsmodus på alle Qualcomm-enheter som vanligvis brukes til å fjerne mursteinen din. For å bruke EDL-modus, må du finne det som kalles en "programmerer" som er autorisert av OEM (Xiaomi) for bruk på enheten din. EDL-modus er veldig mektig og veldig lavt nivå, og den brukes rutinemessig av servicesentre for å reparere enheter. Imidlertid ble EDL-modus også ofte brukt til å flashe både offisielle og modifiserte MIUI Global ROM-er på kinesiske Xiaomi-enheter uten å låse opp bootloaderen. I hovedsak ble EDL-modus en annen måte som tredjepartsforhandlere kunne omgå Xiaomi. Xiaomi vil ikke at forbrukere skal kjøpe kinesiske versjoner av maskinvaren deres med Global ROM installert, så de gjorde to ting: Gjorde det umulig å starte opp en Global ROM hvis enheten er ikke en global versjon (med advarselsmeldingen "Denne MIUI kan ikke installeres på denne enheten"), og gjorde det slik at EDL-modus ikke kan brukes med mindre du har en autorisert Mi regnskap.

Oppdater: Vi har flere detaljer om de nylige begrensningene Xiaomi gjorde angående å blinke en MIUI-versjon utenfor regionen. Hvis du vurderer å importere en Xiaomi-smarttelefon eller nettbrett, bør du virkelig les denne artikkelen for å være sikker!

Anti-Rullback Beskyttelse

Til slutt implementerte de anti-rollback-beskyttelse i de nyeste versjonene av MIUI for de nyeste Xiaomi-enhetene. Du har kanskje hørt om tilbakerullingsbeskyttelse før. Google lagt til støtte for funksjonen i Android 8.0 Oreo og gjorde det obligatorisk for enheter som starter med Android Pie. Googles anti-rollback-beskyttelse er en funksjon i Android Verified Boot 2.0 (også kjent som Verified Boot) og den hindrer enheten i å starte opp hvis den oppdager at enheten har blitt nedgradert til en eldre, ikke-godkjent programvare bygge. Anti-rollback-beskyttelse er nødvendig for å forhindre at angripere laster eldre programvare på en enhet som er utsatt for en utnyttelse. Den største forskjellen mellom Google og Xiaomis implementering er at Googles anti-rollback-beskyttelse er deaktivert hvis du låser opp bootloaderen mens Xiaomis ikke kan deaktiveres. Når du først har installert en build med anti-tilbakeføringsbeskyttelse aktivert på en Xiaomi-enhet, er det ingen vei tilbake. For eksempel er anti-rullingsbeskyttelse aktivert for Xiaomi Mi 8 og Xiaomi Redmi Note 5 Pro som starter i henholdsvis MIUI 10 China 8.9.6 og MIUI 10 Global Beta 8.7.5.

Liste over enheter som for øyeblikket har anti-rollback-beskyttelse aktivert. Kilde: Xiaomi.eu.

Anti-rollback-beskyttelse vil stoppe enhver uautorisert forhandler fra å dra nytte av utnyttelser i eldre MIUI-versjoner, og dermed beskytte brukere mot utnyttelse. Imidlertid har den også tatt mange på vakt fordi Xiaomi rullet den ut til Redmi Note 5 Pro uten å informere brukerne på forhånd. Fordi TWRP ikke har noen kontroller på plass for å hindre brukere i å installere eldre, uautorisert MIUI versjoner, murte mange ved et uhell enhetene sine når de nedgraderte fra en MIUI beta ROM til en MIUI stabil ROM. Alle for øyeblikket støttede Xiaomi-enheter vil etter hvert få anti-rollback-beskyttelse, så det er utrolig viktig at du forstår hvordan du sjekker det før du nedgraderer og hva du kan gjøre hvis anti-rollback beskyttelse er aktivert.


Hvordan sjekke for Anti-Rullback Protection

Da vi snakket om anti-rollback-beskyttelse som forhindrer en enhet i å starte opp eldre, usikker programvare, sa vi at Verified Boot "oppdager" tilstedeværelsen av eldre programvare. Hvordan denne gjenkjenningen fungerer er at Verified Boot har en tilbakestillingsindeks som sammenlignes med tilbakeføringsindeksen for bildene som skal installeres. Avhengig av hvordan tilbakeføringsindeksene sammenlignes, vil følgende skje:

  • Hvis gjeldende tilbakeføringsindeks er mindre enn tilbakerullingsindeksen i bildene som skal blinke, deretter bildene vil bli blinket og gjeldende tilbakeføringsindeks vil økes for å matche den nye tilbakeføringsindeksen.
  • Hvis gjeldende tilbakeføringsindeks er lik til tilbakerullingsindeksen i bildene som skal blinkes, deretter bildene vil bli blinket og tilbakerullingsindeksen endres ikke.
  • Hvis gjeldende tilbakeføringsindeks er større enn tilbakerullingsindeksen i bildene som skal blinke, deretter bilder vil bli avvist hvis du er blinker via fastboot eller Mi Flash. (TWRP sjekker ikke tilbakerullingsindeksene før de blinker, og det er derfor nesten alle klossene var et resultat av nedgradering via TWRP.)

Nå som du har en bedre forståelse av tilbakeføringsindeksen, er det her hvordan du faktisk sjekker gjeldende tilbakeføringsindeks på enheten din og bildet du vil blinke.

Hvordan finne gjeldende tilbakeføringsindeks

  1. Start på nytt til fastboot-modus
  2. Skriv inn følgende kommando: fastboot getvar anti
  3. Hvis utgangen er tom, er ikke tilbakerulling aktivert ennå. Hvis du får et tall i utdataene, er det din nåværende tilbakeføringsindeks.
Nåværende anti-rollback-indeks for enheten er 4.

Hvordan finne tilbakerullingsindeks for bilder

  1. Last ned "fastboot" ROM-ekvivalenten til gjenopprettings-ROMen du prøver å installere. Gjenopprettings-ROMen har alltid enhetens markedsføringsnavn i filnavnet og ender på .zip. Fastboot ROM har alltid enhetens kodenavn i filnavnet og ender på .tar.gz.
  2. Pakk ut flash-all.bat fra .tar.gz-arkivet. 7Zip kan enkelt håndtere dette.
  3. Åpne flash-all.bat i et tekstredigeringsprogram som Notepad++ og se etter følgende linje: set CURRENT_ANTI_VER=#
  4. Dette tallet (#) er tilbakeføringsindeksen for MIUI-versjonen du vil blinke. Hvis dette tallet er lik eller større enn din nåværende tilbakeføringsindeks, er det trygt å blinke i TWRP, Mi Flash, etc. Hvis dette tallet er mindre enn din nåværende tilbakestillingsindeks, IKKE FLASH DENNE ROMEN VIA TWRP.
Utdrag fra flash-all-skriptet til en fastboot-ROM

Å unngå en full, uopprettelig kloss bør være enkelt så lenge du sjekker tilbakerullingsindeksene før du nedgraderer via TWRP. Bare for å være sikker, bør du holde deg til Mi Flash eller fastboot for å flashe MIUI ROM-er som telefonen din bootloader har innebygde beskyttelser for å hindre deg i å nedgradere til en versjon med lavere tilbakerulling indeks.


Hvordan påvirker Anti-Rollback Protection tilpassede ROM-er?

Hvis du planlegger å aldri blinke MIUI igjen, vil ikke mye endre seg for deg. Hvis du vil flashe en AOSP ROM som LineageOS, Pixel Experience, Resurrection Remix, Carbon ROM, osv., må du fortsatt låse opp bootloaderen via Mi Unlock, starte opp TWRP og deretter flashe den tilpassede ROM. Den eneste bemerkelsesverdige forskjellen er hvordan du installerer TWRP via fastboot. Siden anti-rollback-beskyttelse blokkerer deg fra å blinke TWRP-bildet, må du først flashe et "dummy"-bilde. Dummy-bildet er en tom fil som ikke tjener noe annet formål enn å sende en kommando til oppstartslasteren slik at den vet at etterpå kan den godta andre blink. (Hvis du ser på flash-all-skriptet fra forrige seksjon, er dette faktisk hvordan Xiaomi offisielt gjør det.) Alternativt, du kan "faststarte opp" TWRP-bildet, flytte TWRP-bildet til enhetens lagring, og deretter flashe TWRP-bildet innenfra TWRP. Jeg gir ikke detaljerte instruksjoner om noen av metodene, da jeg oppfordrer deg til å besøke enhetens forum for enhetsspesifikke instruksjoner.

XDA Forum Index for alle Xiaomi-enheter

Det er imidlertid ett forbehold. Det er ingen måte å si på forhånd om tilbakerullingsindeksen har blitt økt på grunn av en oppdatert bootloader, modem, leverandør eller andre partisjoner. Husk at tilpassede ROM-er vanligvis bare endrer system- og oppstartspartisjonene, men for å holde enheten din virkelig sikker med de siste sikkerhetsoppdateringene, vil du trenger noen ganger å flashe de nyeste bildene som finnes i de siste offisielle MIUI-ROMene. Utviklere av tilpassede ROM-er må sjekke tilbakerullingsindeksen manuelt av disse byggene før de anbefaler deg å oppdatere – på den måten vil du vite når en ny oppdatering låser deg til visse MIUI-versjoner hvis du planlegger å gå tilbake til MIUI fra en AOSP ROM.


Hva gjør jeg hvis jeg murte telefonen min?

Hvis du murte telefonen ved å utløse anti-rollback-beskyttelse, har du svært få alternativer.

  1. Send enheten til et autorisert servicesenter for reparasjon. Servicesentrene har tilgang til å gjenopprette enheten din via EDL-modus.
  2. Håper at det på en eller annen måte er en måte å omgå EDL-autorisasjon (i hovedsak en utnyttelse), slik at du manuelt kan gjenopprette enheten med riktig programmerer.

Som du kan se, er det ingen spøk å mure telefonen ved å utløse anti-rollback-beskyttelse. Du må virkelig være forsiktig før du flasher en eldre MIUI-versjon.


Ofte stilte spørsmål (FAQs)

  1. Hva unngår jeg hvis jeg ikke vil mure enheten min?
    • Ikke flash en MIUI-versjon med en tilbakestillingsindeks som er mindre enn enhetens gjeldende tilbakeføringsindeks. Se ovenfor for instruksjoner.
    • Ikke flash en offisiell MIUI Global ROM på kinesisk Xiaomi-maskinvare med en låst bootloader.
  2. Kan jeg fortsatt installere tilpassede AOSP ROMer, kjerner, Magisk, Xposed, Substratum, ARISE og andre mods?
    • Ja.
  3. Kan jeg fortsatt bytte mellom MIUI Global Stable, MIUI Global Developer, MIUI China Stable og MIUI China Developer?
    • Ja, men du må sammenligne tilbakeføringsindeksene før du installerer en eldre MIUI-versjon.
  4. Hvorfor deaktiverer ikke Xiaomi tilbakerullingsbeskyttelse når du låser opp bootloaderen?
    • Det er et godt spørsmål.
  5. Hvorfor murer Xiaomi telefonen din hvis anti-rullingsbeskyttelse utløses, noe Google ikke gjør?
    • Det er et annet godt spørsmål.
  6. Hvorfor viser ikke Xiaomi standard Verified Boot-advarsel for å vise brukeren programvaren har blitt tuklet med?
    • Du er i gang med disse flotte spørsmålene! I fullt alvor, denne kan være noe rettferdiggjort fordi det er mulig å deaktivere denne splash-skjermen - i det minste på noen enheter.

Spesiell takk til XDA Recognized Developer yshalsager og XDA Junior-medlem frantztesca for deres hjelp i denne artikkelen!