Explicação do anti-reversão da Xiaomi: como evitar bloquear seu telefone

Todos os smartphones e tablets Xiaomi terão proteção anti-reversão habilitada. O que é e como você evita travar seu dispositivo por causa disso?

Em julho, Xiaomi lançado MIUI 10 Global Beta 8.7.5 para oito dispositivos Xiaomi. Quando os usuários instalaram a atualização em seu Xiaomi Redmi Note 5 Pro, eles sem saber, exibiu uma compilação com proteção anti-reversão habilitada. Os usuários que não gostaram do MIUI 10 Global Beta tiveram uma surpresa desagradável quando tentaram reinstalar a ROM estável global do MIUI 9 mais recente: seus telefones estavam bloqueados! Este não era o tipo de problema que você poderia consertar restaurando um backup TWRP, atualizando uma nova ROM ou usando MiFlash para restaurar uma imagem de fábrica. Este é um tijolo rígido e irrecuperável que requer o uso do modo EDL para ser corrigido. Mas o modo EDL não está acessível a menos que você tenha uma conta autorizada, então muitos usuários ficaram sem como consertar seu telefone, exceto enviá-lo para um centro de serviço autorizado ou pagar para usar a conta de alguém com EDL acesso. Neste artigo, explicaremos tudo o que você precisa saber sobre a nova proteção anti-reversão da Xiaomi para evitar bloquear seu novo telefone.


Por que a Xiaomi exige longos tempos de espera para desbloqueio do bootloader, autorização EDL e proteção anti-reversão?

A gigante chinesa de eletrônicos Xiaomi é a marca de smartphones mais popular na Índia, graças à sua ampla seleção de dispositivos econômicos e de gama média. Tal como a Huawei, a Xiaomi também vende uma tonelada de smartphones no seu mercado doméstico, a China. Muitos destes dispositivos nunca são vendidos fora da China, mas isso não impede as pessoas de os importar. Varejistas não oficiais de produtos Xiaomi surgiram no Aliexpress, Gearbest e muitos outros sites, permitindo que qualquer pessoa de fora da China compre os produtos Xiaomi mais recentes. Isso representou um desafio para a empresa, pois o software fornecido em seus dispositivos chineses, chamado “MIUI China”, não contém o Google Play Services, a Google Play Store ou outros idiomas além do inglês ou Mandarim. Assim, qualquer pessoa que importe um dispositivo Xiaomi da China não deveria obter aplicativos e serviços do Google prontos para uso.

No entanto, varejistas terceirizados descobriram uma maneira de contornar isso para que pudessem convencer os clientes de que estavam vendendo dispositivos Xiaomi com uma ROM global MIUI “oficial”. Os varejistas comprariam dispositivos Xiaomi em grandes quantidades, desbloqueariam o bootloader, mudariam o software eles mesmos ou atualizariam um software personalizado. ROM como Xiaomi.eu (ROMs não oficiais baseadas em MIUI China, mas com mais idiomas e recursos) e depois vender o dispositivo. A maioria dos consumidores não teria como saber que está executando software não oficial/modificado e, em vez disso, culparia a Xiaomi pela falta de atualizações ou bugs que encontrassem. Pior ainda, alguns varejistas agrupariam intencionalmente malware ou adware para que pudessem ganhar algum dinheiro extra. A reputação da Xiaomi foi ativamente prejudicada por esta prática, à medida que revisores de tecnologia e consumidores foram apanhados nos esquemas de esses varejistas não oficiais e, portanto, eles precisavam encontrar uma maneira de impedir que varejistas obscuros vendessem dispositivos modificados em volume.

Uma solução é bloquear completamente o desbloqueio do bootloader, que é uma movimento drástico que a Huawei tomou recentemente. Vendo o sucesso de sua marca entre os entusiastas, a Xiaomi ainda não decidiu bloquear o desbloqueio do bootloader. Em vez disso, eles implementaram alguns obstáculos para proteger os usuários contra as ações de varejistas terceiros mal-intencionados.

Tempos de espera de desbloqueio do bootloader

Primeiro, eles implementaram um período de espera para desbloqueio do bootloader. Dispositivos Xiaomi, exceto Xiaomi Mi A1, Xiaomi Mi A2 e Xiaomi Mi A2 Lite que rodam Android padrão no programa Android One, exige o uso da ferramenta Mi Unlock proprietária da Xiaomi para desbloquear o carregador de inicialização. Depois de enviar sua solicitação para desbloquear o bootloader, o Mi Unlock força você a esperar antes de validar sua solicitação e desbloquear o bootloader. O tempo de espera costumava ser de 3 dias antes de aumentar para 15 dias no início de 2018 e, recentemente, o tempo de espera aumentou para 30 ou até 60 dias em alguns casos. (A nova submarca da Xiaomi, Poco, reduziu o tempo de espera até 3 dias após receber feedback da comunidade, embora quase todo mundo ainda tem que esperar muito tempo.) Adicionar um tempo de espera ao processo de desbloqueio do bootloader foi eficaz em desacelerar as operações de varejistas terceirizados, mas é também é compreensivelmente irritante para entusiastas que desejam desbloquear o bootloader para fazer root em seus dispositivos, atualizar ROMs personalizados e atualizar flash personalizado grãos.

Autorização EDL

Em seguida, a empresa começou a bloquear o modo EDL em seus dispositivos. EDL significa Modo de download de emergência e é um modo de inicialização alternativo em todos os dispositivos Qualcomm que é comumente usado para desbloquear seu dispositivo. Para usar o modo EDL, você precisa encontrar o que é chamado de “programador” que foi autorizado pelo OEM (Xiaomi) para uso em seu dispositivo. O modo EDL é Muito poderoso e nível muito baixo, e é usado rotineiramente por centros de serviço para reparar dispositivos. No entanto, o modo EDL também era comumente usado para atualizar ROMs globais MIUI oficiais e modificados em dispositivos Xiaomi chineses sem desbloquear o bootloader. Em essência, o modo EDL tornou-se outra forma de os varejistas terceirizados contornarem a Xiaomi. A Xiaomi não quer que os consumidores comprem versões chinesas de seu hardware com ROMs globais instaladas, então eles fizeram duas coisas: Tornaram impossível inicializar uma ROM global se o dispositivo não é uma versão global (com a mensagem de aviso “Este MIUI não pode ser instalado neste dispositivo”) e fez com que o modo EDL não pudesse ser usado a menos que você tenha um Mi autorizado. conta.

Atualizar: Temos mais detalhes sobre as restrições recentes que a Xiaomi fez em relação à atualização de uma versão MIUI fora da região. Se você está pensando em importar um smartphone ou tablet Xiaomi, você realmente deveria leia este artigo para estar seguro!

Proteção anti-reversão

Finalmente, eles implementaram proteção anti-reversão nas versões mais recentes do MIUI para os dispositivos Xiaomi mais recentes. Você já deve ter ouvido falar de proteção anti-reversão antes. Google suporte adicionado para o recurso no Android 8.0 Oreo e tornou obrigatório para dispositivos lançados com Android Pie. A proteção anti-reversão do Google é um recurso do Android Verified Boot 2.0 (também conhecido como Verified Boot) e impede a inicialização do dispositivo se detectar que o dispositivo foi rebaixado para um software mais antigo e não aprovado construir. A proteção anti-reversão é necessária para evitar que invasores carreguem software mais antigo em um dispositivo suscetível a exploração. A maior diferença entre a implementação do Google e da Xiaomi é que a proteção anti-reversão do Google é desativada se você desbloquear o bootloader enquanto o da Xiaomi não pode ser desativado. Depois de instalar uma versão com proteção anti-reversão habilitada em um dispositivo Xiaomi, não há como voltar atrás. Por exemplo, a proteção anti-reversão está habilitada para o Xiaomi Mi 8 e o Xiaomi Redmi Note 5 Pro a partir do MIUI 10 China 8.9.6 e MIUI 10 Global Beta 8.7.5, respectivamente.

Lista de dispositivos que atualmente possuem proteção anti-reversão habilitada. Fonte: Xiaomi.eu.

A proteção anti-reversão impedirá que qualquer varejista não autorizado tire vantagem das explorações em versões mais antigas do MIUI, protegendo assim os usuários da exploração. No entanto, também pegou muitos desprevenidos porque a Xiaomi o lançou no Redmi Note 5 Pro sem informar os usuários de antemão. Porque o TWRP não possui nenhuma verificação para impedir que os usuários instalem MIUI mais antigo e não autorizado versões, muitas pessoas bloquearam acidentalmente seus dispositivos ao fazer o downgrade de uma ROM beta MIUI para uma MIUI ROM estável. Todos os dispositivos Xiaomi atualmente suportados acabarão por ganhar proteção anti-reversão, por isso é extremamente importante que você entenda como verificá-lo antes de fazer o downgrade e o que você pode fazer se a proteção anti-reversão for habilitado.


Como verificar a proteção anti-reversão

Quando falamos sobre a proteção anti-reversão que impede um dispositivo de inicializar software mais antigo e inseguro, dissemos que a inicialização verificada “detecta” a presença de software mais antigo. O funcionamento dessa detecção é que o Verified Boot possui um índice de rollback que é comparado com o índice de rollback das imagens a serem instaladas. Dependendo de como os índices de reversão se comparam, acontecerá o seguinte:

  • Se o índice de reversão atual for menos do que o índice de reversão nas imagens a serem exibidas, então o as imagens serão exibidas e a o índice de reversão atual será incrementado para corresponder ao novo índice de reversão.
  • Se o índice de reversão atual for igual ao índice de reversão nas imagens a serem exibidas, então o as imagens serão exibidas e a o índice de reversão não mudará.
  • Se o índice de reversão atual for maior do que o índice de reversão nas imagens a serem exibidas, então o imagens serão rejeitadas se vocês são piscando via fastboot ou Mi Flash. (O TWRP não verifica os índices de reversão antes de atualizar, e é por isso que quase todos os tijolos foram resultado de downgrade via TWRP.)

Agora que você entende melhor o índice de reversão, veja como verificar o índice de reversão atual em seu dispositivo e a imagem que deseja exibir.

Como encontrar o índice de reversão atual

  1. Reinicie no modo fastboot
  2. Digite o seguinte comando: fastboot getvar anti
  3. Se a saída estiver em branco, o anti-reversão ainda não foi habilitado. Se você obtiver um número na saída, esse será o seu índice de reversão atual.
O índice anti-reversão atual do dispositivo é 4.

Como encontrar o índice de reversão de imagens

  1. Baixe a ROM “fastboot” equivalente à ROM de recuperação que você está tentando instalar. A ROM de recuperação sempre tem o nome comercial do dispositivo no nome do arquivo e termina em .zip. A ROM fastboot sempre tem o codinome do dispositivo no nome do arquivo e termina em .tar.gz.
  2. Extraia flash-all.bat do arquivo .tar.gz. 7Zip pode facilmente lidar com isso.
  3. Abra flash-all.bat em um editor de texto como o Notepad++ e procure a seguinte linha: set CURRENT_ANTI_VER=#
  4. Esse número (#) é o índice de reversão da versão MIUI que você deseja atualizar. Se esse número for igual ou superior ao seu índice de reversão atual, é seguro fazer flash em TWRP, Mi Flash, etc. Se esse número for menor que o seu índice de reversão atual, NÃO FLASH ESTA ROM VIA TWRP.
Trecho do script flash-all de uma ROM fastboot

Evitar um tijolo completo e irrecuperável deve ser simples, desde que você verifique os índices de reversão antes de fazer o downgrade via TWRP. Só por segurança, você deve usar Mi Flash ou fastboot para atualizar ROMs MIUI como se fossem do seu telefone bootloader possui proteções integradas para evitar que você faça downgrade para uma versão com menor reversão índice.


Como a proteção anti-reversão afeta as ROMs personalizadas?

Se você planeja nunca mais atualizar o MIUI, não mudará muita coisa para você. Se você deseja atualizar uma ROM AOSP como LineageOS, Pixel Experience, Resurrection Remix, Carbon ROM, etc., você ainda precisará desbloquear o bootloader via Mi Unlock, inicializar o TWRP e, em seguida, atualizar o personalizado ROM. A única diferença notável é como você instala o TWRP via fastboot. Como a proteção anti-reversão impede que você atualize a imagem TWRP, você precisa primeiro atualizar uma imagem “fictícia”. A imagem fictícia é um arquivo vazio que não tem outra finalidade senão enviar um comando ao bootloader para que ele saiba que depois poderá aceitar outros flashes. (Se você olhar o script flash-all da seção anterior, é assim que a Xiaomi faz isso oficialmente.) Alternativamente, você pode “inicializar rapidamente” a imagem TWRP, mover a imagem TWRP para o armazenamento do seu dispositivo e, em seguida, atualizar a imagem TWRP de dentro TWRP. Não estou fornecendo instruções detalhadas sobre nenhum dos métodos, pois recomendo que você visite o fórum do seu dispositivo para obter instruções específicas do dispositivo.

Índice do Fórum XDA para todos os dispositivos Xiaomi

Há, no entanto, uma ressalva. Não há como saber de antemão se o índice de reversão foi incrementado devido a um bootloader, modem, fornecedor ou outras partições atualizados. Lembre-se de que ROMs personalizadas geralmente alteram apenas o sistema e as partições de inicialização, mas para manter seu dispositivo realmente seguro com as atualizações de patch de segurança mais recentes, você precisará ocasionalmente é necessário atualizar as imagens mais recentes contidas nas ROMs MIUI oficiais mais recentes. Os desenvolvedores de ROMs personalizados terão que verificar manualmente o índice de reversão dessas compilações antes que eles recomendem que você atualize – dessa forma, você saberá quando uma nova atualização o bloqueará em determinadas versões do MIUI se você planeja voltar para o MIUI a partir de um ROM AOSP.


O que eu faço se bloquear meu telefone?

Se você bloqueou seu telefone ativando a proteção anti-reversão, terá muito poucas opções.

  1. Envie seu dispositivo a um centro de serviço autorizado para reparo. Os centros de serviço têm acesso para restaurar seu dispositivo via modo EDL.
  2. Espero que haja de alguma forma uma maneira de ignorar a autorização EDL (essencialmente, uma exploração) para que você possa restaurar manualmente o seu dispositivo com o programador certo.

Como você pode ver, bloquear seu telefone ativando a proteção anti-reversão não é brincadeira. Você realmente precisa ter cuidado antes de atualizar qualquer versão mais antiga do MIUI.


Perguntas frequentes (FAQ)

  1. O que evito se não quiser bloquear meu dispositivo?
    • Não atualize uma versão MIUI com um índice de reversão menor que o índice de reversão atual do seu dispositivo. Veja acima as instruções.
    • Não atualize uma ROM global MIUI oficial em hardware Xiaomi chinês com um bootloader bloqueado.
  2. Ainda posso instalar ROMs AOSP personalizados, kernels, Magisk, Xposed, Substratum, ARISE e outros mods?
    • Sim.
  3. Ainda posso alternar entre MIUI Global Stable, MIUI Global Developer, MIUI China Stable e MIUI China Developer?
    • Sim, mas você precisa comparar os índices de reversão antes de instalar uma versão mais antiga do MIUI.
  4. Por que a Xiaomi não desativa a proteção anti-reversão quando você desbloqueia o bootloader?
    • Esta é uma boa pergunta.
  5. Por que a Xiaomi bloqueia seu telefone se a proteção anti-reversão é acionada, o que o Google não faz?
    • Essa é outra boa pergunta.
  6. Por que a Xiaomi não exibe o aviso padrão de inicialização verificada para mostrar ao usuário que o software foi adulterado?
    • Você está em alta com essas ótimas perguntas! Falando sério, isso pode ser um tanto justificado porque é possível desabilitar esta tela inicial - pelo menos em alguns dispositivos.

Agradecimentos especiais ao desenvolvedor reconhecido pelo XDA yshalsager e membro júnior do XDA franztesca por sua ajuda neste artigo!