L'anti-rollback de Xiaomi expliqué: comment éviter de casser votre téléphone

Tous les smartphones et tablettes Xiaomi auront une protection anti-rollback activée. Qu'est-ce que c'est et comment éviter de bloquer votre appareil à cause de cela ?

En juillet, Xiaomi deployé MIUI 10 Global Beta 8.7.5 pour huit appareils Xiaomi. Lorsque les utilisateurs ont installé la mise à jour sur leur Xiaomi Redmi Note 5 Pro, ils sans le savoir, j'ai flashé une version avec la protection anti-rollback activée. Les utilisateurs qui n'aimaient pas MIUI 10 Global Beta ont eu une mauvaise surprise lorsqu'ils ont essayé de réinstaller la dernière ROM MIUI 9 Global Stable: leurs téléphones étaient maçonnés! Ce n'était pas le genre de brique que vous pouviez réparer en restaurant une sauvegarde TWRP, en flashant une nouvelle ROM ou en utilisant MiFlash pour restaurer une image d'usine. Il s'agit d'une brique dure et irrécupérable qui nécessite l'utilisation du mode EDL pour être réparée. Mais le mode EDL n'est accessible que si vous disposez d'un compte autorisé, de nombreux utilisateurs n'ont donc aucun moyen de résoudre le problème. leur téléphone, sauf en l'envoyant à un centre de service agréé ou en payant pour utiliser le compte de quelqu'un avec EDL accéder. Dans cet article, nous allons vous expliquer tout ce que vous devez savoir sur la nouvelle protection anti-rollback de Xiaomi afin que vous puissiez éviter de casser votre nouveau téléphone.


Pourquoi Xiaomi nécessite-t-il de longs temps d'attente pour le déverrouillage du chargeur de démarrage, une autorisation EDL et une protection anti-rollback?

Le géant chinois de l'électronique Xiaomi est la marque de smartphones la plus populaire en Inde grâce à sa large sélection d'appareils économiques et de milieu de gamme. Comme Huawei, Xiaomi vend également une tonne de smartphones sur son marché intérieur en Chine. Beaucoup de ces appareils ne sont jamais vendus en dehors de la Chine, mais cela n’empêche pas les gens de les importer. Des détaillants non officiels de produits Xiaomi ont vu le jour sur Aliexpress, Gearbest et de nombreux autres sites Web, permettant à toute personne extérieure à la Chine d'acheter les derniers produits Xiaomi. Cela a posé un défi à l'entreprise, car le logiciel qu'elle propose sur ses appareils chinois, appelé « MIUI » Chine », ne contient pas les services Google Play, le Google Play Store ou des langues autres que l'anglais ou Mandarin. Ainsi, quiconque importe un appareil Xiaomi de Chine ne devrait pas obtenir d’applications et de services Google hors des sentiers battus.

Cependant, des détaillants tiers ont trouvé un moyen de contourner ce problème afin de convaincre les clients qu'ils vendaient des appareils Xiaomi avec une ROM MIUI Global « officielle ». Les détaillants achèteraient des appareils Xiaomi en gros, déverrouilleraient le chargeur de démarrage, modifieraient eux-mêmes le logiciel ou flasheraient un logiciel personnalisé. ROM comme Xiaomi.eu (ROM non officielles basées sur MIUI Chine mais avec plus de langues et de fonctionnalités), puis vendez l'appareil. La plupart des consommateurs n’auraient aucun moyen de savoir qu’ils utilisent un logiciel non officiel/modifié et blâmeraient plutôt Xiaomi pour le manque de mises à jour ou les bugs qu’ils rencontrent. Pire encore, certains détaillants regrouperaient intentionnellement des logiciels malveillants ou publicitaires afin de pouvoir gagner un peu d'argent supplémentaire. La réputation de Xiaomi était activement mise à mal par cette pratique, car les évaluateurs techniques et les consommateurs étaient pris dans les stratagèmes de ces détaillants non officiels, et ils devaient donc trouver un moyen d'empêcher les détaillants louches de vendre des appareils modifiés dans en gros.

Une solution consiste à bloquer complètement le déverrouillage du chargeur de démarrage, ce qui est un problème. décision drastique prise récemment par Huawei. Voyant le succès de leur marque auprès des passionnés, Xiaomi n’a pas encore décidé de bloquer le déverrouillage du chargeur de démarrage. Au lieu de cela, ils ont mis en place quelques obstacles pour protéger les utilisateurs contre les actions de détaillants tiers malveillants.

Le chargeur de démarrage déverrouille les temps d'attente

Premièrement, ils ont mis en place une période d’attente pour le déverrouillage du chargeur de démarrage. Appareils Xiaomi, à l'exception des Xiaomi Mi A1, Xiaomi Mi A2 et Xiaomi Mi A2 Lite qui fonctionnent sous Android. sous le programme Android One, nécessiter l'utilisation de l'outil propriétaire Mi Unlock de Xiaomi pour déverrouiller le chargeur de démarrage. Après avoir envoyé votre demande de déverrouillage du bootloader, Mi Unlock vous oblige à attendre avant de valider votre demande et de déverrouiller le bootloader. Le délai d'attente était auparavant de 3 jours avant de passer à 15 jours début 2018, et récemment, le délai d'attente est passé à 30 ou jusqu'à 60 jours dans certains cas. (La nouvelle sous-marque de Xiaomi, Poco, réduit le temps d'attente à 3 jours après avoir reçu les commentaires de la communauté, bien que presque tout le monde doit encore attendre longtemps.) L'ajout d'un temps d'attente au processus de déverrouillage du chargeur de démarrage a été efficace pour ralentir les opérations des détaillants tiers, mais c'est le cas. également naturellement ennuyeux pour les passionnés qui souhaitent déverrouiller le chargeur de démarrage pour rooter leur appareil, flasher des ROM personnalisées et flasher personnalisé graines.

Autorisation EDL

Ensuite, la société a commencé à verrouiller le mode EDL sur ses appareils. EDL signifie Emergency Download Mode, et il s'agit d'un mode de démarrage alternatif sur tous les appareils Qualcomm qui est couramment utilisé pour débloquer votre appareil. Pour utiliser le mode EDL, vous devez trouver ce qu'on appelle un « programmeur » autorisé par l'OEM (Xiaomi) pour une utilisation sur votre appareil. Le mode EDL est très puissant et très bas niveau, et il est régulièrement utilisé par les centres de service pour réparer les appareils. Cependant, le mode EDL était également couramment utilisé pour flasher les ROM MIUI Global officielles et modifiées sur les appareils Xiaomi chinois sans déverrouiller le chargeur de démarrage. Essentiellement, le mode EDL est devenu un autre moyen permettant aux détaillants tiers de contourner Xiaomi. Xiaomi ne veut pas que les consommateurs achètent des versions chinoises de leur matériel avec des ROM globales installées, ils ont donc fait deux choses: rendre impossible le démarrage d'une ROM globale si le l'appareil n'est pas une version globale (avec le message d'avertissement «Ce MIUI ne peut pas être installé sur cet appareil»), et a fait en sorte que le mode EDL ne puisse pas être utilisé sauf si vous disposez d'un Mi autorisé compte.

Mise à jour: Nous avons plus de détails sur les récentes restrictions imposées par Xiaomi concernant le flashage d'une version MIUI hors région. Si vous envisagez d'importer un smartphone ou une tablette Xiaomi, vous devriez vraiment lisez cet article pour être en sécurité!

Protection anti-retour

Enfin, ils ont implémenté une protection anti-rollback dans les dernières versions de MIUI pour les derniers appareils Xiaomi. Vous avez peut-être déjà entendu parler de la protection anti-rollback. Google support supplémentaire pour la fonctionnalité d'Android 8.0 Oreo et l'a rendu obligatoire pour les appareils lancés avec Android Pie. La protection anti-rollback de Google est une fonctionnalité d'Android Verified Boot 2.0 (également connu sous le nom de Verified Boot). empêche l'appareil de démarrer s'il détecte que l'appareil a été mis à niveau vers un logiciel plus ancien et non approuvé construire. Une protection anti-rollback est nécessaire pour empêcher les attaquants de charger des logiciels plus anciens sur un appareil susceptible d’être exploité. La plus grande différence entre la mise en œuvre de Google et de Xiaomi est que la protection anti-rollback de Google est désactivée si vous déverrouillez le chargeur de démarrage alors que celle de Xiaomi ne peut pas être désactivée. Une fois que vous avez installé une version avec la protection anti-rollback activée sur un appareil Xiaomi, vous ne pouvez plus revenir en arrière. Par exemple, la protection anti-rollback est activée pour le Xiaomi Mi 8 et le Xiaomi Redmi Note 5 Pro à partir de MIUI 10 China 8.9.6 et MIUI 10 Global Beta 8.7.5 respectivement.

Liste des appareils sur lesquels la protection anti-rollback est actuellement activée. Source: Xiaomi.eu.

La protection anti-rollback empêchera tout détaillant non autorisé de profiter des exploits des anciennes versions de MIUI, protégeant ainsi les utilisateurs de toute exploitation. Cependant, cela a également pris beaucoup de monde au dépourvu car Xiaomi l'a déployé sur le Redmi Note 5 Pro sans en informer les utilisateurs au préalable. Parce que TWRP n'a mis en place aucun contrôle pour empêcher les utilisateurs d'installer un MIUI plus ancien et non autorisé. versions, de nombreuses personnes ont accidentellement briqué leurs appareils lorsqu'elles sont passées d'une ROM bêta de MIUI à une ROM MIUI ROM stable. Tous les appareils Xiaomi actuellement pris en charge bénéficieront à terme d’une protection anti-rollback, c’est donc extrêmement important que vous comprenez comment le vérifier avant de rétrograder et ce que vous pouvez faire si la protection anti-rollback est activé.


Comment vérifier la protection anti-rollback

Lorsque nous avons parlé de la protection anti-rollback qui empêche un appareil de démarrer un logiciel plus ancien et non sécurisé, nous avons dit que le démarrage vérifié « détecte » la présence d'un logiciel plus ancien. Le fonctionnement de cette détection est que Verified Boot possède un index de restauration qui est comparé à l'index de restauration des images à installer. En fonction de la comparaison des indices d'annulation, les événements suivants se produiront :

  • Si l'index d'annulation actuel est moins que l'index de restauration dans les images à flasher, puis le les images seront flashées et le l'index de restauration actuel sera incrémenté pour correspondre au nouvel index de restauration.
  • Si l'index d'annulation actuel est égal à l'index de restauration dans les images à flasher, puis le les images seront flashées et le l'index de restauration ne changera pas.
  • Si l'index d'annulation actuel est plus grand que l'index de restauration dans les images à flasher, puis le les images seront rejetées si vous êtes clignotant via fastboot ou Mi Flash. (TWRP ne vérifie pas les indices de restauration avant de clignoter, c'est pourquoi presque toutes les briques sont le résultat d'une rétrogradation via TWRP.)

Maintenant que vous avez une meilleure compréhension de l'index de restauration, voici comment vérifier l'index de restauration actuel sur votre appareil et l'image que vous souhaitez flasher.

Comment trouver l'index de restauration actuel

  1. Redémarrer en mode fastboot
  2. Entrez la commande suivante: fastboot getvar anti
  3. Si la sortie est vide, cela signifie que l'anti-rollback n'a pas encore été activé. Si vous obtenez un nombre dans la sortie, il s’agit de votre index de restauration actuel.
L'indice anti-rollback actuel de l'appareil est de 4.

Comment trouver l'index de restauration des images

  1. Téléchargez l'équivalent ROM « fastboot » de la ROM de récupération que vous essayez d'installer. La ROM de récupération comporte toujours le nom marketing de l'appareil dans le nom de fichier et se termine par .zip. La ROM fastboot a toujours le nom de code de l’appareil dans le nom de fichier et se termine par .tar.gz.
  2. Extrayez flash-all.bat de l'archive .tar.gz. 7Zip peut facilement gérer cela.
  3. Ouvrez flash-all.bat dans un éditeur de texte comme Notepad++ et recherchez la ligne suivante: set CURRENT_ANTI_VER=#
  4. Ce numéro (#) est l'index de restauration de la version MIUI que vous souhaitez flasher. Si ce nombre est égal ou supérieur à votre indice de restauration actuel, vous pouvez alors flasher en toute sécurité dans TWRP, Mi Flash, etc. Si ce nombre est inférieur à votre index de restauration actuel, NE FLASHEZ PAS CETTE ROM VIA TWRP.
Extrait du script flash-all d'une ROM fastboot

Éviter une brique complète et irrécupérable devrait être simple tant que vous vérifiez les indices de restauration avant de rétrograder via TWRP. Juste pour être sûr, vous devez vous en tenir à Mi Flash ou fastboot pour flasher les ROM MIUI comme celles de votre téléphone. le chargeur de démarrage dispose de protections intégrées pour vous empêcher de passer à une version avec une restauration inférieure indice.


Comment la protection anti-rollback affecte-t-elle les ROM personnalisées?

Si vous envisagez de ne plus jamais flasher MIUI, cela ne changera pas grand-chose pour vous. Si vous souhaitez flasher une ROM AOSP comme LineageOS, Pixel Experience, Resurrection Remix, Carbon ROM, etc., vous devrez toujours déverrouiller le chargeur de démarrage via Mi Unlock, démarrer TWRP, puis flasher le fichier personnalisé. ROM. La seule différence notable réside dans la manière dont vous installez TWRP via fastboot. Étant donné que la protection anti-rollback vous empêche de flasher l’image TWRP, vous devez d’abord flasher une image « factice ». L'image factice est un fichier vide qui ne sert à rien d'autre que d'envoyer une commande au bootloader pour qu'il sache qu'il pourra ensuite accepter d'autres flashs. (Si vous regardez le script flash-all de la section précédente, c'est en fait ainsi que Xiaomi le fait officiellement.) Alternativement, vous pouvez « démarrer rapidement » l'image TWRP, déplacer l'image TWRP vers le stockage de votre appareil, puis flasher l'image TWRP depuis l'intérieur TWRP. Je ne fournis aucune instruction détaillée sur aucune des méthodes, car je vous invite à visiter le forum de votre appareil pour obtenir des instructions spécifiques à l'appareil.

Index du forum XDA pour tous les appareils Xiaomi

Il existe cependant une réserve. Il n'y a aucun moyen de savoir à l'avance si l'index de restauration a été incrémenté en raison d'un chargeur de démarrage, d'un modem, d'un fournisseur ou d'autres partitions mis à jour. Gardez à l’esprit que les ROM personnalisées ne modifient généralement que les partitions système et de démarrage, mais pour que votre appareil reste réellement sécurisé avec les dernières mises à jour des correctifs de sécurité, vous devez le faire. il est parfois nécessaire de flasher les dernières images contenues dans les dernières ROM MIUI officielles. Les développeurs de ROM personnalisées devront vérifier manuellement l'index de restauration de ces versions avant de vous recommander de mettre à jour. De cette façon, vous saurez quand une nouvelle mise à jour vous enferme dans certaines versions de MIUI si vous envisagez de revenir à MIUI à partir d'un ROM AOSP.


Que dois-je faire si j’ai briqué mon téléphone?

Si vous avez briqué votre téléphone en déclenchant la protection anti-rollback, vous disposez de très peu d'options.

  1. Envoyez votre appareil à un centre de service agréé pour réparation. Les centres de service ont accès à la restauration de votre appareil via le mode EDL.
  2. J'espère qu'il existe d'une manière ou d'une autre un moyen de contourner l'autorisation EDL (essentiellement, un exploit) afin que vous puissiez restaurer manuellement votre appareil avec le bon programmeur.

Comme vous pouvez le constater, bloquer votre téléphone en déclenchant une protection anti-rollback n’est pas une blague. Vous devez vraiment être prudent avant de flasher une ancienne version de MIUI.


Foire aux questions (FAQ)

  1. Que dois-je éviter si je ne veux pas briquer mon appareil ?
    • Ne flashez pas une version MIUI avec un indice de restauration inférieur à l'indice de restauration actuel de votre appareil. Voir ci-dessus pour les instructions.
    • Ne flashez pas une ROM MIUI Global officielle sur du matériel Xiaomi chinois avec un chargeur de démarrage verrouillé.
  2. Puis-je toujours installer des ROM AOSP personnalisées, des noyaux, Magisk, Xposed, Substratum, ARISE et d'autres mods ?
    • Oui.
  3. Puis-je toujours basculer entre MIUI Global Stable, MIUI Global Developer, MIUI China Stable et MIUI China Developer ?
    • Oui, mais vous devez comparer les indices de restauration avant d'installer une ancienne version de MIUI.
  4. Pourquoi Xiaomi ne désactive-t-il pas la protection anti-rollback lorsque vous déverrouillez le bootloader ?
    • C'est une bonne question.
  5. Pourquoi Xiaomi bloque-t-il votre téléphone si la protection anti-rollback est déclenchée, ce que Google ne fait pas ?
    • C'est une autre bonne question.
  6. Pourquoi Xiaomi n'affiche-t-il pas l'avertissement standard de démarrage vérifié pour indiquer à l'utilisateur que le logiciel a été falsifié ?
    • Vous êtes sur une lancée avec ces bonnes questions! Plus sérieusement, celui-ci peut être quelque peu justifié car il est possible de désactiver cet écran de démarrage - au moins sur certains appareils.

Un merci spécial au développeur reconnu par XDA yshalsager et membre junior XDA Franztesca pour leur aide dans cet article !