Eu tive essa pergunta há alguns meses e encontrei essa resposta através de algumas pesquisas. Por isso, pensei em compartilhar minha pesquisa neste site, respondendo à minha pergunta, considerando as informações falsas online. (Por exemplo, o site oficial da KingoRoot diz que pode fazer root no Android Oreo, que é uma informação completamente errada)
Como os aplicativos de root funcionam?
Existem muitos aplicativos de root, KingRoot, KingoRoot, Z4Root, Root Genius, Universal Androot, para citar alguns aplicativos populares / usados anteriormente. Todos eles usam explorações / vulnerabilidades / brechas no sistema operacional Android para se concederem privilégios reservados aos aplicativos do sistema ou mesmo ao próprio sistema operacional Android. E então montam como leitura / gravação o diretório nomeado /system
que abriga os processos necessários para colocar o sistema em execução e os aplicativos do sistema e colocam um binário nomeado su
em um local do diretório, a saber /system/bin/su
. Se algum aplicativo exigir raiz, o aplicativo executará esse binário e você verá uma solicitação para permitir ou recusar o acesso raiz.
As explorações / vulnerabilidades descobertas recebem um CVEID e são detalhadas no site do CVE e corrigidas nos Boletins de segurança do Android . Um exemplo é a infame vulnerabilidade DirtyC0W que recebeu o CVEID CVE-2016-5195
, que atormentou e ainda atormenta os kernels Linux mais antigos. Quase todos os aplicativos mencionados acima exploram essa vulnerabilidade.
Por que os aplicativos de root não estão mais funcionando?
Conforme mencionado nos boletins acima, o Google corrige uma série de problemas no Android todos os meses. Portanto, o escopo das vulnerabilidades está diminuindo bastante. Todas as vulnerabilidades que os aplicativos rooteados usam até o momento foram corrigidas nas correções de segurança em algum lugar por volta de janeiro de 2018 .
Mas pode haver problemas que alguns fabricantes esqueceram de corrigir! E eles?
No Android 6.0.0 ou mais recente, isso fará com que o dispositivo não inicialize mais. Para entender o motivo disso, precisamos examinar um conceito chamado Cadeia de confiança .
O Chain of Trust , CoT abreviado, é um mecanismo de segurança que foi introduzido para proteger o sistema operacional Android de vírus e modificações não autorizadas. Funciona como uma cadeia de hardware e software, onde cada parte verifica a próxima. Passo a passo:
- Quando você liga o dispositivo, uma função de hardware (às vezes chamada de ROM de inicialização) é iniciada. A ROM de inicialização é gravada no hardware e não pode ser alterada.
- A ROM de inicialização verifica o primeiro software no CoT, o carregador de inicialização que é um blob binário bruto, às vezes chamado de pré-carregador. (Também a ROM de inicialização às vezes carrega e usa partições / binários personalizados especiais, dependendo do fornecedor) Se o carregador de inicialização não passar nas verificações, o dispositivo é encerrado. Se for aprovado, a ROM de inicialização executará o gerenciador de inicialização.
- O carregador de inicialização verifica as opções passadas pela ROM de inicialização e seleciona o modo de inicialização apropriado. Os modos de inicialização comuns que existem em quase todos os dispositivos são a inicialização normal do Android, Recovery e Fastboot / Download.
Se o carregador de inicialização estiver bloqueado, ele verifica se a próxima parte do CoT a ser executada está intacta e, se estiver, o gerenciador de inicialização o executa. Caso contrário, ele pode desligar, reiniciar ou ficar preso em um modo especial do carregador de inicialização, dependendo do modelo do dispositivo.
Se o carregador de inicialização estiver desbloqueado, ele não verifica a próxima parte do CoT, mas o carrega diretamente.
- A próxima parte é chamada de partição de inicialização . Ele lida com a maneira de inicializar o próprio sistema. Nas versões do Android em / mais recentes que 6.0.0 (Lollipop), também verifica se o sistema está intacto e, se modificado, é encerrado.
Como mencionado primeiro, esses aplicativos raiz exploram as vulnerabilidades a serem modificadas /system
, o que é verificado pela partição de inicialização, conforme mencionado no Estágio 4 acima. Portanto, qualquer modificação fará com que o dispositivo não inicialize. Esse estado é geralmente chamado de "soft-brick", que só pode ser corrigido por um re-flash.
Portanto, os dispositivos mais recentes exigem que o gerenciador de inicialização seja desbloqueado se você deseja fazer root no seu dispositivo. Esses dispositivos são enraizados exibindo uma recuperação com mais opções do que a recuperação normal (como TWRP, ClockWorkMod), geralmente chamada de recuperação personalizada, e usando isso para modificar a partição de inicialização (e desativar a verificação do sistema). Também é possível modificar diretamente a partição de inicialização sem uma recuperação personalizada.
Alguns fabricantes oferecem uma maneira de desbloquear o gerenciador de inicialização, e outros não. Os dispositivos populares com cargas de inicialização bloqueadas (por exemplo, dispositivos Samsung S bloqueados pela operadora dos EUA) tendem a ser explorados pela comunidade de modificação do Android.
Meu dispositivo ainda é o Android 5.1.1 ou superior! Devo usá-los para fazer root?
A maioria desses dispositivos mais antigos é possível fazer root nos aplicativos de root. Então você poderia. Você deveria? Isso depende das suas preferências. O acesso root concede o poder sobre tudo no sistema operacional e, com o acesso root, normalmente não leva nem um microssegundo para garantir que seu dispositivo nunca seja inicializado novamente. É muito provável que os aplicativos de root nunca façam isso, mas poderiam. Além disso, com o root, um aplicativo pode acessar tudo o que seu dispositivo faz e tudo o que tem em sua memória, incluindo as informações do cartão de crédito, senhas, etc. Se isso soa como uma séria ameaça à privacidade, talvez não os use. Se você não se importa com isso, pode experimentá-los.
Se você é experiente o suficiente, existem as fontes de quase todas as explorações que esses aplicativos raiz usam. Você pode tentar procurá-los pelo CVEID, procurá-los no Git, compilar e executá-los e tentar obter um shell raiz, e poderá instalar as su
dependências binárias e outras dependências.
Além disso, o KingoRoot é conhecido por enviar dados altamente confidenciais como IMEI e Número de Série para seus servidores. As chances são de que eles nunca os usem, mas essa é sua decisão no final. E o KingRoot é conhecido por instalar um backdoor em seu SDK, o que permitiu a alguns aplicativos obter acesso root não autorizado pelo usuário.
Conclusão
A era dos aplicativos de root já se foi há muito tempo. Os aplicativos de root não funcionam mais e, se você os usar em versões mais recentes do Android, corre o risco de bloquear o seu dispositivo e provavelmente perder todos os seus dados. Se você usá-los em versões suportadas do Android, eles funcionariam a maior parte do tempo, mas há questões de privacidade e segurança que você deve considerar antes de continuar.
Espero que minha pesquisa ajude alguém no futuro que tenha o mesmo problema que eu. :)
VERIFIED / SECURE BOOT
seção: forum.xda-developers.com/android/general/…