[Android] Princípio do Android para obter root

[Android] Princípio do Android para obter root

fundo

É uma operação que os entusiastas da engenharia reversa não podem evitar. Somente com autoridade raiz o controle da cadeia de chamadas pode ser maximizado.

Introdução ao conhecimento relevante

autoridade raiz

No sistema operacional Android, autoridade root refere-se à autoridade máxima para controle completo do dispositivo. Com privilégios de root, um usuário pode acessar todas as partes do sistema operacional, incluindo arquivos e configurações do sistema e partes que são inacessíveis a outros aplicativos. Normalmente, os usuários de dispositivos Android têm apenas permissões básicas e nenhuma permissão de root.

Ao obter privilégios de root, os usuários podem realizar modificações mais profundas e controlar seus dispositivos, como remover aplicativos pré-instalados , alterar configurações do sistema , instalar ROMs ou kernels personalizados e desinstalar aplicativos do sistema , entre outras coisas. No entanto, a obtenção de privilégios de root também pode levar a riscos, como instabilidade do dispositivo, perda de dados ou violações de segurança, se usado sem autorização ou de forma inadequada.

Para obter privilégios de root, geralmente você precisa usar ferramentas ou aplicativos específicos, como Magisk, SuperSU, etc. No entanto, a obtenção de privilégios de root pode exigir o desbloqueio do bootloader do dispositivo ou a instalação de uma recuperação personalizada específica. Essas operações podem anular a garantia do dispositivo e representar riscos de segurança. Portanto, antes de obter privilégios de root, os usuários devem avaliar cuidadosamente os riscos e benefícios e certificar-se de que entendem o que estão fazendo.

ROM

Um pacote ROM atualizado refere-se a um pacote de software usado para substituir o sistema operacional original em um dispositivo Android. ROM é a abreviatura de "Read-Only Memory", que se refere a uma memória solidificada, mas aqui ROM se refere ao pacote completo de software do sistema Android, incluindo o sistema operacional, kernel, aplicativos do sistema e outros componentes relacionados.

O pacote ROM contém o sistema operacional completo , não apenas o sistema operacional em si. Os pacotes ROM normalmente contêm o sistema operacional, kernel, aplicativos do sistema, drivers, binários e outros componentes relacionados. Isso significa que um pacote ROM atualizado pode substituir todo o sistema operacional por uma versão nova ou personalizada.

partição do sistema

Em dispositivos Android, a partição do sistema é uma partição especial usada para armazenar o sistema operacional e outros componentes importantes, como o kernel, aplicativos e drivers do sistema, etc. A partição do sistema geralmente é uma unidade de estado sólido ou memória flash do dispositivo que armazena uma imagem completa do sistema operacional e outros componentes relacionados .

A partição do sistema geralmente é uma partição protegida que somente administradores de sistema ou usuários autorizados específicos podem acessar e modificar . Para a maioria dos dispositivos Android, a partição do sistema é somente leitura, o que significa que só pode ser lida e não gravada.

carregador de inicialização

Em dispositivos Android, o bootloader é um programa de inicialização executado quando o dispositivo é inicializado e é responsável por carregar o sistema operacional e outros componentes relacionados. Portanto, o bootloader é uma parte crítica da inicialização do dispositivo.

No entanto, os fabricantes de dispositivos muitas vezes restringem o acesso do usuário ao bootloader para evitar modificações ou manipulações não autorizadas do dispositivo. Isso significa que os usuários não podem alterar arbitrariamente o bootloader do dispositivo ou instalar um sistema operacional personalizado nele.

O princípio de desbloquear o bootloader é modificar o status de bloqueio do bootloader do dispositivo para permitir que os usuários instalem sistemas operacionais, kernels ou outros softwares personalizados no dispositivo. Os fabricantes de dispositivos geralmente adicionam um estado de bloqueio ao bootloader para evitar modificações ou manipulações não autorizadas. A forma como esse estado bloqueado é alcançado varia entre os fabricantes, mas geralmente é controlado por meio de uma instrução ou comando especial. Depois que o bootloader de um dispositivo é bloqueado, os usuários não podem alterar facilmente o sistema operacional do dispositivo ou instalar software personalizado.

Deslizar cartão e deslizar linha

Flashing de cartão refere-se a flashear o telefone através do modo de recuperação embutido no telefone. Geralmente, o pacote flashing é colocado no cartão SD ou disco U e, em seguida, opções como "Instalar atualizações" ou "Instalar pacote ZIP" são selecionadas em o modo de recuperação para atualizar o telefone. O flash do cartão é relativamente simples e não requer o uso de computador ou cabo de dados. Você só precisa preparar um pacote de flash. No entanto, tem algumas limitações, como a impossibilidade de desbloquear o Bootloader e outras operações.

Flashing de fio refere-se a um método de conectar um telefone celular por meio de um computador e um cabo de dados e usar uma ferramenta especial de flashing (como Odin, Fastboot, etc.) para fazer o flash do pacote flash no telefone celular. A passagem online é mais flexível do que a passagem do cartão e pode realizar mais operações, como desbloquear o Bootloader, obter permissões de Root, atualizar para recuperação de terceiros, etc. pode ser visualizado em tempo real durante o processo de flashing on-line, para que os problemas sejam resolvidos prontamente.

Modo de recuperação

O modo de recuperação é um modo de inicialização especial usado para reparar problemas do sistema, fazer backup e restaurar dados, atualizar firmware e outras operações. Na maioria dos dispositivos Android, o modo de recuperação pode ser acessado mantendo pressionada uma combinação específica de teclas (como manter pressionado o botão liga / desliga e o botão de diminuir volume). No modo de recuperação, os usuários podem realizar operações como flash, backup e recuperação, limpeza de dados e cache, montagem e formatação.

Inicialização rápida

Fastboot é um modo de inicialização de dispositivo Android que permite aos usuários executar alguns comandos básicos no bootloader do dispositivo, como atualizar a partição do sistema, atualizar o kernel, desbloquear/bloquear o bootloader e outras operações. No modo Fastboot, o dispositivo pode ser conectado ao computador via USB e então usar ferramentas de linha de comando para realizar diversas operações.

Fastboot é uma ferramenta que roda no bootloader e depende da existência do bootloader . Antes de usar o Fastboot, os usuários precisam garantir que o bootloader do dispositivo foi desbloqueado e permite a atualização de firmware ou kernel não oficial. Normalmente, os usuários precisam entrar no modo Fastboot primeiro antes de poderem realizar algumas operações que precisam ser executadas no bootloader.

Obtenha ideias de raiz do Android

O assunto da autoridade root é o sistema operacional, portanto as ideias para obter autoridade root giram em torno do sistema operacional.

Ideia 1: Obtenha as vulnerabilidades do sistema operacional atual e use as vulnerabilidades para atingir o propósito de escalonamento de privilégios, que está além do escopo desta discussão.

Ideia 2: Substitua o sistema operacional do dispositivo atual .

Para resumir os pontos de conhecimento acima, o processo da ideia 2 pode ser resumido como:

  • Obtenha permissão de modificação da partição do sistema: obtida ao desbloquear o bootloader
  • Faça/obtenha ROM personalizada
  • Instale uma ROM personalizada na partição do sistema

Etapas de reprodução

Informações do dispositivo: MI 9 8GB Android11 ​​​​MIUI12.5.6 versão estável

Desbloquear bootloader

  • Baixe a ferramenta de desbloqueio do celular (site oficial da ferramenta de desbloqueio), na ferramenta de desbloqueio Xiaomi no PC ( isso requer a abertura do Windows, baixe o arquivo exe grosso )
  • Depois de abrir o exe, você precisa fazer login na sua conta Xiaomi para verificar sua identidade.
  • Conecte USB para conectar o telefone
  • Faça login na conta Xiaomi que já possui permissões de desbloqueio no dispositivo que precisa ser desbloqueado e vá em "Configurações -> Opções do desenvolvedor -> Status de desbloqueio do dispositivo" para vincular a conta e o dispositivo
  • Depois que a ligação for bem-sucedida, entre manualmente no modo Bootloader (após desligar, pressione e segure o botão liga / desliga e o botão de diminuir volume ao mesmo tempo)
  • Clique no botão “Desbloquear” da ferramenta de desbloqueio do PC, aguarde o tempo especificado de acordo com a mensagem e tente novamente ou desbloqueie imediatamente;

Obtenha pacotes ROM de terceiros

https://xiaomirom.com/De
acordo com o método de flash selecionado, você pode obter diferentes tipos de pacotes ROM.

  • Pincel de cartão: Baixe o arquivo zip
  • Pincel de linha: Baixe o arquivo tgz

Grave a partição do sistema na ROM personalizada

Escolha diferentes ferramentas de acordo com as diferentes formas de gravação na partição do sistema.

  • Deslize o cartão

A função integrada de passagem de cartão do MIUI possui um mecanismo de verificação online, que enfrenta mais restrições do que a passagem online. Normalmente, apenas o sistema pode ser atualizado, não rebaixado, e a versão de desenvolvimento não pode ser atualizada sem qualificações de teste interno.

  • Pincel de linha
  1. BaixarMiFlash
  2. Descompacte o pacote zip no seu computador
  3. Entre no Fastboot no seu telefone e conecte-se ao Miflash (requer computador Windows)

おすすめ

転載: blog.csdn.net/xiru9972/article/details/130678375