Android Central

O que realmente significa fazer root no seu telefone?

protection click fraud

Adoramos receber suas perguntas. É sempre bom quando podemos ajudar uns aos outros e aprendemos coisas sozinhos quando procuramos as respostas. Embora não possamos encontrar tempo para responder a todas elas, às vezes uma determinada pergunta surge o suficiente para merecer uma resposta detalhada.

"O que raiz quer dizer?" é uma dessas perguntas. O conceito pode ser simples para alguns de nós, mas para muitas pessoas que não perderam tempo mexendo no Android ou em qualquer outro sistema operacional baseado em permissões, é algo para se fazer perguntas. Vou tentar responder a todas da melhor maneira possível.

Permissões

permissões de arquivo

Antes de definirmos o root, é importante entender por que ele existe e como funciona. É porque o Android usa permissões (permissões baseadas em Linux, para ser exato) na estrutura do arquivo. Cada arquivo, cada pasta e cada partição tem um conjunto de permissões. Essas permissões decidem quem pode ler um arquivo (ver ou acessar o conteúdo sem alterá-lo), gravar em um arquivo (poder alterar o conteúdo desse arquivo, ou crie um novo arquivo dentro de uma pasta ou partição) e execute um arquivo (execute o arquivo se for um tipo que pode ser executado, como um aplicativo). Isso é feito com base em usuários e permissões — certos usuários têm acesso, enquanto usuários que não têm as permissões corretas são impedidos de ter acesso.

Ao configurar o telefone e ligá-lo pela primeira vez, você recebe uma ID de usuário. Se outro usuário fizer login pelo Google, ele receberá um diferente ID do usuário. Quando um aplicativo é instalado em seu telefone, ele também recebe um ID de usuário próprio. O próprio sistema é um usuário e outros processos que precisam ser executados em seu telefone podem ter seu próprio ID de usuário. Tudo o que pode fazer qualquer coisa com qualquer arquivo no seu Android é um usuário.

Um sistema de usuários e permissões é como o Android controla quem pode fazer o quê.

Digamos que você instale um aplicativo de mensagens. Ele recebe um ID de usuário quando você o instala. Ele também obtém um local próprio em sua partição de dados, ao qual somente ele tem acesso. Você tem permissões para executar o aplicativo e, quando o aplicativo é executado, ele tem permissão para acessar sua própria pasta de dados e arquivos. O aplicativo também pode solicitar permissão para acessar coisas como seu catálogo de endereços, cartão SD ou biblioteca de fotos. Se você aceitar essas solicitações (ou se concordar com as permissões em versões mais antigas do Android), o ID de usuário do aplicativo será concedido permissão para os arquivos de dados dessas coisas, o que significa que ele pode examinar a pasta de dados e seu conteúdo e possivelmente alterá-los ou adicionar novos arquivos. O aplicativo não pode acessar nenhum arquivo de dados que não tenha permissão para "ver". Isso significa (em nosso exemplo) que ele não pode fazer coisas como olhar para o banco de dados de configurações ou acessar a pasta de dados de outro aplicativo. O termo sandbox é frequentemente usado para isso - os aplicativos são colocados em sandbox e só podem ser executados nos sandboxes nos quais eles têm permissão para estar.

Para arquivos que são programas e podem ser executados (como aplicativos), aplica-se o mesmo modelo de permissão. Seu ID de usuário tem permissão para executar os aplicativos instalados enquanto você está conectado. O usuário do sistema tem permissão para executá-los e outros usuários no nível do sistema podem ter acesso aos aplicativos ou a determinados processos usados ​​pelos aplicativos. Outros aplicativos não podem inicializar aplicativos para os quais não têm permissão. Se você adicionou um usuário secundário, ele não terá acesso aos seus aplicativos ou arquivos e vice-versa. Existem arquivos, pastas e aplicativos em seu telefone que seu ID de usuário não ter permissão para ver, alterar ou executar. Normalmente, essas partes do Android exigem permissões no nível do sistema (o ID do usuário do sistema) para fazer qualquer coisa, e você não é o usuário do sistema ou um usuário que possui permissões no nível do sistema.

Trocando permissões

SuperSU

Embora seja tecnicamente possível alterar a maneira como o telefone inicializa e os arquivos que ele usa para iniciar o sistema em execução e atribuir permissões elevadas ao seu ID de usuário, isso não é seguro nem prático. Mas o Android (e a maioria dos sistemas baseados em Unix ou Linux) tem o que é chamado de usuário root e suporta o SubstituteUser binary (pense em um binário como um pequeno aplicativo) para alterar os IDs de usuário. Esses são usados ​​para administrar o sistema no núcleo nível.

Porque as pessoas que fizeram seu telefone não querem que você tenha acesso fácil ao ID do usuário raiz - e nem todos os motivos são egoísta porque também protege você e seus dados privados - o binário SubstituteUser não está incluído na maioria das compilações de Android. Sem SubstituteUser, não podemos trocar nosso ID de usuário. A propósito, a maioria das coisas no nível do sistema no Android têm nomes fáceis semelhantes. A segurança principal (arquivos no gerenciador de inicialização e/ou no próprio kernel) também são construídos de forma a evitar que você troque de IDs de usuário como parte do SELinux (Ssegurança-ELinux aprimorado — disse que os nomes são fáceis) módulo do kernel. Alguns telefones (o Knox da Samsung vem à mente) têm proteções adicionais, e quase todas as empresas que fabricam Androids exigem que, para fazer alterações, o bootloader precise ser desbloqueados para que esses arquivos possam ser alterados e permitir que você troque de IDs de usuário. Alguns telefones, como o BlackBerry Priv, vão um passo além e não inicializarão se mudarmos alguma coisa (mesmo que poderia).

Para se tornar root, você precisa de uma maneira de alterar seu ID de usuário.

Assim que superarmos tudo isso - desbloqueando o bootloader por meios autorizados ou usando algum tipo de exploração — podemos colocar o binário SU (SubstituteUser) em um local onde ele pode ser executado quando for chamado — isso é chamado de CAMINHO. Se algum aplicativo estiver no PATH do seu ID de usuário, ele será executado sem informar ao sistema exatamente onde está. Você também precisa garantir que o binário SU esteja em um local em que seu ID de usuário tenha permissão para executar (executar) arquivos. Qualquer outro aplicativo (o Google Play tem muitos aplicativos que precisam de permissões de root) também precisará do mesmo acesso. Quando você usa um método para fazer root no seu telefone, tudo isso é resolvido pelas pessoas que criaram o método root.

Depois que tudo estiver pronto, podemos executar o binário SU (ou outro aplicativo pode executar o binário SU).

Obtendo acesso root

eu sou o Groot

É aqui que entra o root. O binário SU usa sinalizadores quando é executado para informar ao sistema para qual ID de usuário você deseja alternar. Por exemplo, se eu executar o binário SU no meu computador Ubuntu como este "su Jim -c nano", executarei o comando nano como o usuário Jim (depois de fornecer a senha de Jim). Se você executar o binário SU sem sinalizadores ou argumentos, ele o alternará para o usuário root. Normalmente, você precisa fornecer uma senha, mas como "root" é um usuário não utilizado no Android, ele não possui senha. A execução do comando "su" mudará você para o usuário root e atribuirá a você o ID de usuário 0 e o colocará no grupo root. Agora você é o superusuário.

Como superusuário, você pode fazer qualquer coisa em qualquer arquivo, pasta ou partição do seu Android. Por qualquer coisa, queremos dizer literalmente qualquer coisa. Você pode remover aplicativos bloatware e também pode remover arquivos essenciais do sistema que quebram seu telefone. Você também pode fazer coisas com o hardware, como alterar a frequência da CPU e arruinar seu telefone para sempre.

Root é o superusuário, que pode fazer qualquer coisa. E queremos dizer qualquer coisa.

Os aplicativos podem fazer a mesma coisa. SU é colocado onde está no PATH do aplicativo e qualquer aplicativo pode chamá-lo e executá-lo. Esse aplicativo tem permissões de superusuário e pode fazer o que quiser com qualquer arquivo em qualquer lugar do seu telefone. É por isso que as pessoas que fabricaram seu telefone realmente não querem que você tenha esse nível de acesso, e as empresas que permitem que você desbloqueie o bootloader e mude as coisas ainda não coloque o binário SU em seu telefone por padrão. Ter acesso root sem nenhuma maneira de controlar quem ou o que pode usá-lo é perigoso para o software do seu telefone e seus dados pessoais.

É por isso que você precisa instalar um aplicativo que o force a permitir o acesso root sempre que você ou outro aplicativo tentar invocar as permissões de superusuário. Na maioria das vezes, quando você usa um método raiz para o seu telefone, um será incluído, junto com alguns outros binários úteis, como o conjunto de ferramentas BusyBox. Se você fez as coisas manualmente, precisará instalar uma você mesmo. SuperSU por Chainfire no Google Play é uma boa opção para começar.

Miudezas

Muitos telefones e alguns métodos raiz fazem as coisas de maneira um pouco diferente (o Android 4.3 trouxe muitas mudanças) e exigem scripts ou um daemon (você verá palavras como daemonsu ou su.d mencionadas) em vez de apenas soltar o binário SU em lugar. Eles são usados ​​para chamar SubstituteUser para que você possa alternar para o usuário raiz, assim como o método binário bruto. As pessoas que descobriram como fazer root no seu telefone resolveram tudo isso e funcionarão da mesma forma no lado voltado para o usuário.

Também é possível fazer "root temporário" em alguns Androids. Isso significa que você pode ter permissões de superusuário e fazer algumas coisas necessárias, mas uma reinicialização remove o acesso root. Da mesma forma, você pode ter um "shell-root" onde só pode acessar o usuário root através adb Do seu computador.

Por fim, quero enfatizar que, se você tiver essas dúvidas, precisa considerar se está pronto para ter um Android rooteado. Não estávamos brincando quando dissemos que é fácil estragar seu telefone com acesso de Superusuário. Não há motivo para ter vergonha de precisar ler um pouco ou fazer mais algumas perguntas antes de fazer coisas que podem quebrar seu telefone ou dar a algum aplicativo aleatório rouge acesso a todos os seus dados.

É para isso que estamos aqui.

instagram story viewer