Tutti gli smartphone e tablet Xiaomi avranno la protezione anti-rollback abilitata. Che cos'è e come evitare di danneggiare il tuo dispositivo a causa di ciò?
A luglio, Xiaomi srotolato MIUI 10 Global Beta 8.7.5 per otto dispositivi Xiaomi. Quando gli utenti hanno installato l'aggiornamento sul proprio Xiaomi Redmi Note 5 Pro, loro inconsapevolmente ha flashato una build con la protezione anti-rollback abilitata. Gli utenti a cui non è piaciuta MIUI 10 Global Beta hanno trovato una brutta sorpresa quando hanno provato a reinstallare l'ultima ROM MIUI 9 Global Stable: i loro telefoni erano in muratura! Questo non era il tipo di problema che potevi risolvere ripristinando un backup TWRP, installando una nuova ROM o utilizzando MiFlash per ripristinare un'immagine di fabbrica. Si tratta di un mattone duro e irrecuperabile che richiede l'uso della modalità EDL per essere riparato. Ma la modalità EDL non è accessibile a meno che tu non disponga di un account autorizzato, quindi molti utenti non hanno avuto modo di risolvere il problema il proprio telefono, tranne inviandolo a un centro di assistenza autorizzato o pagando per utilizzare l'account di qualcuno con EDL accesso. In questo articolo spiegheremo tutto ciò che devi sapere sulla nuova protezione anti-rollback di Xiaomi per evitare di danneggiare il tuo nuovo telefono.
Perché Xiaomi richiede lunghi tempi di attesa per lo sblocco del bootloader, l'autorizzazione EDL e la protezione anti-rollback?
Il colosso cinese dell'elettronica Xiaomi è il marchio di smartphone più popolare in India grazie alla sua vasta selezione di dispositivi economici e di fascia media. Come Huawei, anche Xiaomi vende tantissimi smartphone nel mercato interno cinese. Molti di questi dispositivi non vengono mai venduti al di fuori della Cina, ma ciò non impedisce alle persone di importarli. Rivenditori non ufficiali di prodotti Xiaomi sono sorti su Aliexpress, Gearbest e molti altri siti Web, consentendo a chiunque al di fuori della Cina di acquistare gli ultimi prodotti Xiaomi. Ciò ha rappresentato una sfida per l’azienda in quanto il software fornito sui propri dispositivi cinesi, chiamato “MIUI China", non contiene Google Play Services, Google Play Store o lingue diverse dall'inglese o Mandarino. Pertanto, chiunque importi un dispositivo Xiaomi dalla Cina non dovrebbe ottenere app e servizi Google fuori dagli schemi.
Tuttavia, i rivenditori di terze parti hanno trovato un modo per aggirare questo problema in modo da poter convincere i clienti che stavano vendendo dispositivi Xiaomi con una ROM MIUI Global “ufficiale”. I rivenditori acquisterebbero dispositivi Xiaomi in grandi quantità, sbloccherebbero il bootloader, modificherebbero il software da soli o eseguirebbero il flashing di una personalizzazione ROM come Xiaomi.eu (ROM non ufficiali basate su MIUI China ma con più lingue e funzionalità), per poi vendere il dispositivo. La maggior parte dei consumatori non avrebbe modo di sapere che stanno utilizzando software non ufficiale/modificato e darebbe invece la colpa a Xiaomi per la mancanza di aggiornamenti o bug riscontrati. Ancora peggio, alcuni rivenditori raggruppano intenzionalmente malware o adware in modo da poter guadagnare qualche soldo extra. La reputazione di Xiaomi è stata attivamente danneggiata da questa pratica poiché i revisori tecnologici e i consumatori sono rimasti coinvolti negli schemi di questi rivenditori non ufficiali, e quindi dovevano trovare un modo per impedire ai rivenditori loschi di vendere dispositivi modificati massa.
Una soluzione è bloccare completamente lo sblocco del bootloader, che è a mossa drastica che Huawei ha recentemente preso. Vedendo il successo del proprio marchio tra gli appassionati, Xiaomi non si è ancora mossa per bloccare lo sblocco del bootloader. Invece, hanno implementato alcuni ostacoli per salvaguardare gli utenti dalle azioni di rivenditori di terze parti dannosi.
Tempi di attesa per sbloccare il bootloader
Innanzitutto, hanno implementato un periodo di attesa per lo sblocco del bootloader. Dispositivi Xiaomi, ad eccezione di Xiaomi Mi A1, Xiaomi Mi A2 e Xiaomi Mi A2 Lite che eseguono Android di serie sotto il programma Android One, richiedono l'uso dello strumento Mi Unlock proprietario di Xiaomi per sbloccare il boot loader. Dopo aver inviato la tua richiesta per sbloccare il bootloader, Mi Unlock ti obbliga ad attendere prima di convalidare la tua richiesta e sbloccare il bootloader. Il tempo di attesa era di 3 giorni prima di aumentare a 15 giorni all'inizio del 2018 e recentemente il tempo di attesa è aumentato a 30 o fino a 60 giorni in alcuni casi. (Il nuovo sottomarchio di Xiaomi, Poco, abbassato i tempi di attesa a 3 giorni dopo aver ricevuto il feedback dalla community, tuttavia quasi tutti gli altri dovranno aspettare ancora molto tempo.) L'aggiunta di un tempo di attesa al processo di sblocco del bootloader è stata efficace nel rallentare le operazioni dei rivenditori di terze parti, ma non lo è è anche comprensibilmente fastidioso per gli appassionati che desiderano sbloccare il bootloader per eseguire il root del proprio dispositivo, eseguire il flashing di ROM personalizzate e eseguire il flashing personalizzato noccioli.
Autorizzazione EDL
Successivamente, l’azienda ha iniziato a bloccare la modalità EDL sui propri dispositivi. EDL sta per Emergency Download Mode ed è una modalità di avvio alternativa su tutti i dispositivi Qualcomm comunemente utilizzata per sbloccare il dispositivo. Per utilizzare la modalità EDL, devi trovare quello che viene chiamato un "programmatore" che è stato autorizzato dall'OEM (Xiaomi) per l'uso sul tuo dispositivo. La modalità EDL è molto potente E livello molto bassoed è utilizzato abitualmente dai centri di assistenza per riparare i dispositivi. Tuttavia, la modalità EDL veniva comunemente utilizzata anche per eseguire il flashing delle ROM MIUI Global ufficiali e modificate sui dispositivi Xiaomi cinesi senza sbloccare il bootloader. In sostanza, la modalità EDL è diventata un altro modo con cui i rivenditori di terze parti potevano aggirare Xiaomi. Xiaomi non vuole che i consumatori acquistino versioni cinesi del proprio hardware con ROM Global installate, quindi ha fatto due cose: ha reso impossibile avviare una ROM Global se il dispositivo non è una versione globale (con il messaggio di avviso "Questa MIUI non può essere installata su questo dispositivo") e ha fatto in modo che la modalità EDL non possa essere utilizzata a meno che non si disponga di un Mi autorizzato account.
Aggiornamento: Abbiamo maggiori dettagli sulle recenti restrizioni imposte da Xiaomi riguardo al flashing di una versione MIUI fuori regione. Se stai pensando di importare uno smartphone o un tablet Xiaomi, dovresti davvero leggi questo articolo per essere sicuro!
Protezione anti-rollback
Infine, hanno implementato la protezione anti-rollback nelle ultime versioni della MIUI per gli ultimi dispositivi Xiaomi. Potresti aver già sentito parlare di protezione anti-rollback. Google aggiunto supporto per la funzionalità di Android 8.0 Oreo e lo ha reso obbligatorio per i dispositivi che si avviano con Android Pie. La protezione anti-rollback di Google è una funzionalità di Android Verified Boot 2.0 (noto anche come Verified Boot) ed è impedisce l'avvio del dispositivo se rileva che è stato eseguito il downgrade del dispositivo a un software precedente e non approvato costruire. La protezione anti-rollback è necessaria per impedire agli aggressori di caricare software meno recenti su un dispositivo suscettibile a un exploit. La più grande differenza tra l’implementazione di Google e quella di Xiaomi è che la protezione anti-rollback di Google viene disabilitata se si sblocca il bootloader mentre quella di Xiaomi non può essere disabilitata. Una volta installata una build con la protezione anti-rollback abilitata su un dispositivo Xiaomi, non si può tornare indietro. Ad esempio, la protezione anti-rollback è abilitata per Xiaomi Mi 8 e Xiaomi Redmi Note 5 Pro a partire rispettivamente da MIUI 10 China 8.9.6 e MIUI 10 Global Beta 8.7.5.
La protezione anti-rollback impedirà a qualsiasi rivenditore non autorizzato di sfruttare gli exploit nelle versioni MIUI precedenti, proteggendo così gli utenti dallo sfruttamento. Tuttavia, ha colto molti di sorpresa anche perché Xiaomi lo ha lanciato sul Redmi Note 5 Pro senza informare gli utenti in anticipo. Perché TWRP non dispone di alcun controllo per impedire agli utenti di installare MIUI più vecchi e non autorizzati versioni, molte persone hanno accidentalmente bloccato i propri dispositivi quando sono passati da una ROM beta MIUI a una MIUI ROM stabile. Tutti i dispositivi Xiaomi attualmente supportati otterranno prima o poi la protezione anti-rollback, quindi è incredibilmente importante che tu capisca come verificarlo prima del downgrade e cosa puoi fare se la protezione anti-rollback è attiva abilitato.
Come verificare la protezione anti-rollback
Quando abbiamo parlato della protezione anti-rollback che impedisce a un dispositivo di avviare software più vecchio e non sicuro, abbiamo detto che l'avvio verificato "rileva" la presenza di software meno recente. Il funzionamento di questo rilevamento è che Verified Boot ha un indice di rollback che viene confrontato con l'indice di rollback delle immagini da installare. A seconda del confronto degli indici di rollback, accadrà quanto segue:
- Se l'indice di rollback corrente è meno rispetto all'indice di rollback nelle immagini da flashare, quindi il le immagini verranno visualizzate in flash e il l'indice di rollback corrente verrà incrementato per corrispondere al nuovo indice di rollback.
- Se l'indice di rollback corrente è pari all'indice di rollback nelle immagini da flashare, quindi il file le immagini verranno visualizzate in flash e il l'indice di rollback non cambierà.
- Se l'indice di rollback corrente è maggiore rispetto all'indice di rollback nelle immagini da flashare, quindi il le immagini verranno rifiutate se tu sei lampeggiante tramite fastboot o Mi Flash. (La TWRP non controlla gli indici di rollback prima del flashing, motivo per cui quasi tutti i mattoncini erano il risultato del downgrade tramite TWRP.)
Ora che hai una migliore comprensione dell'indice di rollback, ecco come controllare effettivamente l'indice di rollback corrente sul tuo dispositivo e l'immagine che desideri flashare.
Come trovare l'indice di rollback corrente
- Riavvia in modalità di avvio rapido
- Immettere il seguente comando:
fastboot getvar anti
- Se l'output è vuoto, l'anti-rollback non è stato ancora abilitato. Se ottieni un numero nell'output, quello è il tuo attuale indice di rollback.
Come trovare l'indice di rollback delle immagini
- Scarica l'equivalente ROM “fastboot” della ROM di ripristino che stai tentando di installare. La ROM di ripristino ha sempre il nome commerciale del dispositivo nel nome del file e termina con .zip. La ROM di avvio rapido ha sempre il nome in codice del dispositivo nel nome del file e termina con .tar.gz.
- Estrai flash-all.bat dall'archivio .tar.gz. 7Zip può gestirlo facilmente.
- Apri flash-all.bat in un editor di testo come Notepad++ e cerca la seguente riga:
set CURRENT_ANTI_VER=#
- Quel numero (#) è l'indice di rollback della versione MIUI che desideri eseguire il flashing. Se quel numero è uguale o maggiore del tuo attuale indice di rollback, allora è sicuro eseguire il flashing in TWRP, Mi Flash, ecc. Se quel numero è inferiore al tuo attuale indice di rollback, NON FLASHARE QUESTA ROM TRAMITE TWRP.
Evitare un brick pieno e irrecuperabile dovrebbe essere semplice a patto di controllare gli indici di rollback prima di eseguire il downgrade tramite TWRP. Per sicurezza, dovresti restare con Mi Flash o fastboot per eseguire il flashing delle ROM MIUI come quelle del tuo telefono bootloader dispone di protezioni integrate per impedirti di eseguire il downgrade a una versione con un rollback inferiore indice.
In che modo la protezione anti-rollback influisce sulle ROM personalizzate?
Se hai intenzione di non eseguire mai più il flashing della MIUI, non cambierà molto per te. Se desideri eseguire il flashing di una ROM AOSP come LineageOS, Pixel Experience, Resurrection Remix, Carbon ROM, ecc., dovrai comunque sbloccare il bootloader tramite Mi Unlock, avviare TWRP e quindi eseguire il flashing del custom ROM. L'unica differenza notevole è il modo in cui installi TWRP tramite fastboot. Poiché la protezione anti-rollback ti impedisce di eseguire il flashing dell'immagine TWRP, devi prima eseguire il flashing di un'immagine "fittizia". L'immagine fittizia è un file vuoto che non ha altro scopo se non quello di inviare un comando al bootloader in modo che sappia che in seguito potrà accettare altri flash. (Se guardi lo script flash-all della sezione precedente, questo è in realtà il modo in cui Xiaomi lo fa ufficialmente.) In alternativa, puoi eseguire l'avvio rapido dell'immagine TWRP, spostare l'immagine TWRP nella memoria del dispositivo, quindi eseguire il flashing dell'immagine TWRP dall'interno TWRP. Non fornirò istruzioni dettagliate su nessuno dei due metodi poiché ti esorto a visitare il forum del tuo dispositivo per istruzioni specifiche sul dispositivo.
Indice del forum XDA per tutti i dispositivi Xiaomi
C'è però un avvertimento. Non c'è modo di sapere in anticipo se l'indice di rollback è stato incrementato a causa di un bootloader, modem, fornitore o altre partizioni aggiornati. Tieni presente che le ROM personalizzate di solito modificano solo il sistema e le partizioni di avvio, ma per mantenere il tuo dispositivo veramente sicuro con gli ultimi aggiornamenti delle patch di sicurezza, dovrai occasionalmente è necessario eseguire il flashing delle immagini più recenti contenute nelle ultime ROM MIUI ufficiali. Gli sviluppatori di ROM personalizzate dovranno controllare manualmente l'indice di rollback di queste build prima che ti consiglino di aggiornare: in questo modo, saprai quando un nuovo aggiornamento ti blocca in determinate versioni MIUI se prevedi di tornare a MIUI da un ROMAOSP.
Cosa faccio se ho bloccato il mio telefono?
Se hai bloccato il tuo telefono attivando la protezione anti-rollback, hai pochissime opzioni.
- Invia il tuo dispositivo a un centro di assistenza autorizzato per la riparazione. I centri assistenza hanno accesso per ripristinare il tuo dispositivo tramite la modalità EDL.
- Spero che ci sia in qualche modo un modo per aggirare l'autorizzazione EDL (essenzialmente un exploit) in modo da poter ripristinare manualmente il tuo dispositivo con il programmatore giusto.
Come puoi vedere, bloccare il tuo telefono attivando la protezione anti-rollback non è uno scherzo. Devi davvero stare attento prima di eseguire il flashing di qualsiasi versione MIUI precedente.
Domande frequenti (FAQ)
- Cosa evito se non voglio bloccare il mio dispositivo?
- Non eseguire il flashing di una versione MIUI con un indice di rollback inferiore all'indice di rollback corrente del tuo dispositivo. Vedi sopra per le istruzioni.
- Non eseguire il flashing di una ROM MIUI Global ufficiale sull'hardware cinese Xiaomi con un bootloader bloccato.
- Posso comunque installare ROM AOSP personalizzate, kernel, Magisk, Xposed, Substratum, ARISE e altre mod?
- SÌ.
- Posso comunque passare da MIUI Global Stable, MIUI Global Developer, MIUI China Stable e MIUI China Developer?
- Sì, ma è necessario confrontare gli indici di rollback prima di installare una versione MIUI precedente.
- Perché Xiaomi non disabilita la protezione anti-rollback quando sblocchi il bootloader?
- Questa è una bella domanda.
- Perché Xiaomi blocca il tuo telefono se viene attivata la protezione anti-rollback, cosa che Google non fa?
- Questa è un’altra buona domanda.
- Perché Xiaomi non visualizza l'avviso standard di avvio verificato per mostrare all'utente che il software è stato manomesso?
- Sei alla grande con queste fantastiche domande! In tutta serietà, questo può essere in qualche modo giustificato perché è possibile disabilitare questa schermata iniziale - almeno su alcuni dispositivi.
Un ringraziamento speciale allo sviluppatore riconosciuto XDA yshalsager e membro junior XDA franztesca per il loro aiuto in questo articolo!