Explicación de la protección antirretroceso de Xiaomi: cómo evitar bloquear su teléfono

En julio, Xiaomi lanzó MIUI 10 Global Beta 8.7.5 para ocho dispositivos Xiaomi. Cuando los usuarios instalaron la actualización en su Xiaomi Redmi Note 5 Pro, sin saberlo, mostraron una versión con protección antirretroceso habilitada. Los usuarios a quienes no les gustó MIUI 10 Global Beta encontraron una desagradable sorpresa cuando intentaron reinstalar la última ROM estable global de MIUI 9: ¡sus teléfonos estaban bloqueados! Este no era el tipo de ladrillo que podría solucionar restaurando una copia de seguridad TWRP, flasheando una nueva ROM o usando MiFlash para restaurar una imagen de fábrica. Este es un ladrillo duro e irrecuperable que requiere el uso del modo EDL para solucionarlo. Pero el modo EDL no es accesible a menos que tenga una cuenta autorizada, por lo que muchos usuarios no tuvieron forma de arreglar su teléfono, excepto enviarlo a un centro de servicio autorizado o pagar para usar la cuenta de alguien con acceso EDL. En este artículo, explicaremos todo lo que necesita saber sobre la nueva protección antirretroceso de Xiaomi para que pueda evitar bloquear su nuevo teléfono.


¿Por qué Xiaomi requiere largos tiempos de espera de desbloqueo del cargador de arranque, autorización EDL y protección antirretroceso?

El gigante chino de la electrónica Xiaomi es la marca de teléfonos inteligentes más popular en India gracias a su amplia selección de dispositivos económicos y de rango medio. Al igual que Huawei, Xiaomi también vende una tonelada de teléfonos inteligentes en su mercado local de China. Muchos de estos dispositivos nunca se venden fuera de China, pero eso no impide que las personas los importen. Los minoristas no oficiales de productos Xiaomi han surgido en Aliexpress, Gearbest y otros muchos sitios web, lo que permite a cualquier persona de fuera de China comprar los últimos productos Xiaomi. Esto ha planteado un desafío para la compañía ya que el software que envían en sus dispositivos chinos, llamado "MIUI China", no contiene los servicios de Google Play, Google Play Store ni otros idiomas además del inglés o el mandarín. Por lo tanto, cualquiera que importe un dispositivo Xiaomi desde China no debería obtener aplicaciones y servicios de Google fuera de la caja.

Sin embargo, los minoristas externos descubrieron una forma de evitar esto para poder convencer a los clientes de que estaban vendiendo dispositivos Xiaomi con una ROM Global MIUI "oficial". Los minoristas comprarían dispositivos Xiaomi a granel, desbloquearían el gestor de arranque, cambiarían el software ellos mismos o actualizarían una ROM personalizada como Xiaomi.eu (ROM no oficiales basadas en MIUI China pero con más idiomas y características), y luego venderían el dispositivo. La mayoría de los consumidores no tendrían forma de saber que están ejecutando software no oficial / modificado, y en su lugar culparían a Xiaomi por la falta de actualizaciones o errores que encuentren. Peor aún, algunos minoristas agrupan intencionalmente malware o adware para que puedan ganar un poco de dinero extra. La reputación de Xiaomi se vio perjudicada activamente por esta práctica, ya que los revisores tecnológicos y los consumidores quedaron atrapados en los esquemas de estos minoristas no oficiales, por lo que debían encontrar una manera de evitar que los minoristas sospechosos vendieran dispositivos modificados a granel.

Una solución es bloquear completamente el desbloqueo del gestor de arranque, que es un movimiento drástico que Huawei tomó recientemente. Al ver el éxito de su marca entre los entusiastas, Xiaomi aún no se ha movido para bloquear el desbloqueo del cargador de arranque. En cambio, han implementado algunos obstáculos para proteger a los usuarios contra las acciones de minoristas maliciosos de terceros.

Tiempo de espera de desbloqueo del cargador de arranque

Primero, implementaron un período de espera para el desbloqueo del gestor de arranque. Los dispositivos Xiaomi, excepto Xiaomi Mi A1, Xiaomi Mi A2 y Xiaomi Mi A2 Lite que ejecutan Android de serie bajo el programa Android One, requieren el uso de la herramienta patentada Mi Unlock de Xiaomi para desbloquear el gestor de arranque. Después de enviar su solicitud para desbloquear el gestor de arranque, Mi Unlock lo obliga a esperar antes de validar su solicitud y desbloquear el gestor de arranque. El tiempo de espera solía ser de 3 días antes de aumentar a 15 días a principios de 2018, y recientemente, el tiempo de espera ha aumentado a 30 o hasta 60 días en algunos casos. (Poco, la nueva sub-marca de Xiaomi, Poco, redujo el tiempo de espera a 3 días después de recibir comentarios de la comunidad, aunque casi todos los demás todavía tienen que esperar mucho tiempo). Agregar un tiempo de espera al proceso de desbloqueo del gestor de arranque fue eficaz para ralentizar las operaciones de minoristas de terceros, pero también es comprensiblemente molesto para los entusiastas que desean desbloquear el gestor de arranque para rootear su dispositivo, flashear ROM personalizados y flashear kernels personalizados.

Autorización EDL

Luego, la compañía comenzó a bloquear el modo EDL en sus dispositivos. EDL significa Modo de descarga de emergencia, y es un modo de arranque alternativo en todos los dispositivos Qualcomm que se usa comúnmente para desbloquear su dispositivo. Para utilizar el modo EDL, debe encontrar lo que se llama un "programador" que ha sido autorizado por el OEM (Xiaomi) para usar en su dispositivo. El modo EDL es muy potente y de muy bajo nivel, y los centros de servicio lo usan habitualmente para reparar dispositivos. Sin embargo, el modo EDL también se usaba comúnmente para flashear ROM globales MIUI oficiales y modificadas en dispositivos Xiaomi chinos sin desbloquear el gestor de arranque. En esencia, el modo EDL se convirtió en otra forma en que los minoristas externos podrían evitar a Xiaomi. Xiaomi no quiere que los consumidores compren versiones chinas de su hardware con ROMs globales instaladas, por lo que hicieron dos cosas: Hicieron imposible arrancar una ROM global si el dispositivo no es una versión Global (con el mensaje de advertencia "Este MIUI puede" t instalado en este dispositivo "), y lo hizo para que el modo EDL no se pueda usar a menos que tenga una cuenta Mi autorizada.

Pro-tip: Siempre desmarque "limpiar todo y bloquear" antes de flashear con Mi Flash. Esto evitará que su gestor de arranque se bloquee cuando parpadee.

Esto es lo que sucede si intenta flashear una ROM global MIUI en el hardware chino de Xiaomi con un gestor de arranque bloqueado. Créditos: physicien007

Actualización: tenemos más detalles sobre las restricciones recientes que Xiaomi hizo con respecto a la actualización de una versión MIUI fuera de la región. Si está considerando importar un teléfono inteligente o tableta Xiaomi, ¡realmente debería leer este artículo para estar seguro!

Protección antirretroceso

Finalmente, implementaron protección anti-retroceso en las últimas versiones de MIUI para los últimos dispositivos Xiaomi. Es posible que haya oído hablar de la protección antirretroceso antes. Google agregó soporte para la función en Android 8.0 Oreo y lo hizo obligatorio para dispositivos que se inician con Android Pie. La protección anti-retroceso de Google es una característica de Android Verified Boot 2.0 (también conocido como Verified Boot) y evita que el dispositivo se inicie si detecta que el dispositivo se ha degradado a una versión de software anterior y no aprobada. La protección antirretroceso es necesaria para evitar que los atacantes carguen software más antiguo en un dispositivo que es susceptible a una vulnerabilidad. La mayor diferencia entre la implementación de Google y Xiaomi es que la protección antirretroceso de Google se desactiva si desbloqueas el gestor de arranque, mientras que Xiaomi no se puede desactivar. Una vez que instala una compilación con protección antirretroceso habilitada en un dispositivo Xiaomi, no hay vuelta atrás. Por ejemplo, la protección antirretroceso está habilitada para Xiaomi Mi 8 y Xiaomi Redmi Note 5 Pro a partir de MIUI 10 China 8.9.6 y MIUI 10 Global Beta 8.7.5 respectivamente.

Lista de dispositivos que actualmente tienen habilitada la protección antirretroceso. Fuente: Xiaomi.eu.

La protección anti-retroceso evitará que cualquier minorista no autorizado aproveche las vulnerabilidades en versiones anteriores de MIUI, protegiendo así a los usuarios de la explotación. Sin embargo, también ha pillado a muchos desprevenidos porque Xiaomi lo lanzó al Redmi Note 5 Pro sin informar a los usuarios de antemano. Debido a que TWRP no tiene ningún control para evitar que los usuarios instalen versiones MIUI no autorizadas anteriores, muchas personas bloquearon accidentalmente sus dispositivos cuando pasaron de una ROM ROM MIUI a una ROM estable MIUI. Todos los dispositivos Xiaomi actualmente admitidos eventualmente obtendrán protección antirretroceso, por lo que es increíblemente importante que comprenda cómo verificarlo antes de degradar y qué puede hacer si la protección antirretroceso está habilitada.


Cómo verificar la protección antirretroceso

Cuando hablamos sobre la protección anti-retroceso evita que un dispositivo arranque software antiguo e inseguro, dijimos que el arranque verificado "detecta" la presencia de software antiguo. El funcionamiento de esta detección es que Verified Boot tiene un índice de reversión que se compara con el índice de reversión de las imágenes que se instalarán. Dependiendo de cómo se comparen los índices de reversión, sucederá lo siguiente:

  • Si el índice de retroceso actual es menor que el índice de retroceso en las imágenes que se mostrarán, las imágenes se mostrarán y el índice de retroceso actual se incrementará para que coincida con el nuevo índice de retroceso.
  • Si el índice de reversión actual es igual al índice de reversión en las imágenes que se mostrarán, las imágenes se mostrarán y el índice de reversión no cambiará .
  • Si el índice de reversión actual es mayor que el índice de reversión en las imágenes que se mostrarán, las imágenes se rechazarán si parpadea a través de fastboot o Mi Flash . (TWRP no verifica los índices de reversión antes de la actualización, razón por la cual casi todos los ladrillos fueron el resultado de la degradación a través de TWRP).

Ahora que tiene una mejor comprensión del índice de reversión, aquí le mostramos cómo verificar realmente el índice de reversión actual en su dispositivo y la imagen que desea flashear.

Cómo encontrar el índice de reversión actual

  1. Reiniciar en modo fastboot
  2. Ingrese el siguiente comando: fastboot getvar anti
  3. Si la salida está en blanco, entonces el antirretroceso aún no se ha habilitado. Si obtiene un número en la salida, entonces ese es su índice de reversión actual.

El índice anti-retroceso actual del dispositivo es 4.

Cómo encontrar el índice de reversión de imágenes

  1. Descargue la ROM de "fastboot" equivalente a la ROM de recuperación que está intentando instalar. La ROM de recuperación siempre tiene el nombre comercial del dispositivo en el nombre del archivo y termina en .zip. La ROM fastboot siempre tiene el nombre en clave del dispositivo en el nombre del archivo y termina en .tar.gz.
  2. Extraiga flash-all.bat del archivo .tar.gz. 7Zip puede manejar esto fácilmente.
  3. Abra flash-all.bat en un editor de texto como Notepad ++ y busque la siguiente línea: set CURRENT_ANTI_VER=#
  4. Ese número (#) es el índice de reversión de la versión MIUI que desea actualizar. Si ese número es igual o mayor que su índice de reversión actual, entonces es seguro flashear en TWRP, Mi Flash, etc. Si ese número es menor que su índice de reversión actual, NO FLASHEE ESTA ROM A TRAVÉS DE TWRP.

Fragmento del script flash-all de una ROM fastboot

Evitar un ladrillo completo e irrecuperable debe ser simple siempre que verifique los índices de reversión antes de degradar a través de TWRP. Solo para estar seguro, debe seguir con Mi Flash o fastboot para flashear las ROM MIUI, ya que el cargador de arranque de su teléfono tiene protecciones incorporadas para evitar que baje a una versión con un índice de reversión más bajo.


¿Cómo afecta la Protección Anti-Rollback a las ROM personalizadas?

Si planea nunca volver a flashear MIUI, entonces no cambiará mucho para usted. Si desea actualizar una ROM AOSP como LineageOS, Pixel Experience, Resurrection Remix, Carbon ROM, etc., deberá desbloquear el gestor de arranque a través de Mi Unlock, iniciar TWRP y luego flashear la ROM personalizada. La única diferencia notable es cómo instala TWRP a través de fastboot. Dado que la protección antirretroceso le impide flashear la imagen TWRP, primero debe flashear una imagen "ficticia". La imagen ficticia es un archivo vacío que no tiene otro propósito que enviar un comando al gestor de arranque para que sepa que luego puede aceptar otros flashes. (Si observa el script flash-all de la sección anterior, así es como Xiaomi lo hace oficialmente). Alternativamente, puede "iniciar rápidamente" la imagen TWRP, mover la imagen TWRP al almacenamiento de su dispositivo y luego flashear el TWRP imagen desde TWRP. No proporciono instrucciones detalladas sobre ninguno de los métodos, ya que le recomiendo que visite el foro de su dispositivo para obtener instrucciones específicas del dispositivo.

Índice del foro para todos los dispositivos Xiaomi

Sin embargo, hay una advertencia. No hay forma de saber de antemano si el índice de reversión se ha incrementado debido a un gestor de arranque, módem, proveedor u otras particiones actualizadas. Tenga en cuenta que las ROM personalizadas generalmente solo cambian el sistema y las particiones de arranque, pero para mantener su dispositivo verdaderamente seguro con las últimas actualizaciones de parches de seguridad, ocasionalmente necesitará flashear las últimas imágenes contenidas en las últimas ROM MIUI oficiales. Los desarrolladores de ROM personalizadas deberán verificar manualmente el índice de reversión de estas compilaciones antes de recomendar que actualicen; de esa manera, sabrán cuándo una nueva actualización lo bloquea en ciertas versiones de MIUI si planea regresar a MIUI desde un AOSP ROM.


¿Qué hago si bloqueé mi teléfono?

Si bloqueó su teléfono activando la protección antirretroceso, tiene muy pocas opciones.

  1. Envíe su dispositivo a un centro de servicio autorizado para su reparación. Los centros de servicio tienen acceso para restaurar su dispositivo a través del modo EDL.
  2. Espero que haya alguna forma de evitar la autorización EDL (esencialmente, un exploit) para que pueda restaurar manualmente su dispositivo con el programador adecuado.

Como puede ver, bloquear su teléfono activando la protección antirretroceso no es una broma. Realmente debe tener cuidado antes de actualizar cualquier versión anterior de MIUI.


Preguntas frecuentes (FAQ)

  1. ¿Qué evito si no quiero bloquear mi dispositivo?
    • No muestre una versión MIUI con un índice de reversión menor que el índice de reversión actual de su dispositivo. Ver arriba para instrucciones.
    • No flashee una ROM Global MIUI oficial en el hardware Xiaomi chino con un gestor de arranque bloqueado.
  2. ¿Puedo instalar ROM AOSP personalizadas, núcleos, Magisk, Xposed, Substratum, ARISE y otras modificaciones?
    • Si.
  3. ¿Puedo cambiar entre MIUI Global Stable, MIUI Global Developer, MIUI China Stable y MIUI China Developer?
    • Sí, pero debe comparar los índices de reversión antes de instalar una versión MIUI anterior.
  4. ¿Por qué Xiaomi no desactiva la protección antirretroceso cuando desbloqueas el gestor de arranque?
    • Buena pregunta.
  5. ¿Por qué Xiaomi bloquea duramente su teléfono si se activa la protección anti-retroceso, que Google no hace?
    • Esa es otra buena pregunta.
  6. ¿Por qué Xiaomi no muestra la advertencia estándar de arranque verificado para mostrar al usuario que el software ha sido manipulado?
    • ¡Estás en racha con estas excelentes preguntas! Con toda seriedad, esta puede estar algo justificada porque es posible desactivar esta pantalla de inicio, al menos en algunos dispositivos.

¡Un agradecimiento especial al Reconocido Desarrollador yshalsager y al Miembro Junior franztesca por su ayuda en este artículo!