De acordo com a página da Wikipedia para fazer root no Android ,
O processo de enraizamento varia muito de acordo com o dispositivo, mas geralmente inclui a exploração de uma fraqueza de segurança no firmware do dispositivo e a cópia do
su
binário em um local no PATH do processo atual (por exemplo/system/xbin/su
) e a concessão de permissões executáveis com ochmod
comando Um aplicativo supervisor como SuperUser ou SuperSU pode regular e registrar solicitações de permissão elevadas de outros aplicativos. Existem muitos guias, tutoriais e processos automáticos para dispositivos Android populares, facilitando um processo de root rápido e fácil.
Agora, eu queria saber quais explorações estão sendo usadas nesse processo, então comecei a olhar em volta. Eu encontrei algumas referências a explorações do Android (principalmente o RageAgainstTheCode ), mas algumas perguntas aqui ( esta e Como o regulamenta as permissões de aplicativos? ) Me dão a impressão de que nenhuma exploração real está sendo executada.
Pelo que eu coletei, o processo funciona assim:
- Desbloquear o carregador de inicialização ( limpa o dispositivo por questões de segurança )
- Instale a recuperação personalizada (permitirá que arquivos ZIP arbitrários piscem)
- Arquivo zip Flash SuperUser ou SuperSU na recuperação personalizada.
Pelo que entendi, a recuperação personalizada é capaz de atualizar o arquivo ZIP porque ele existe em um nível mais baixo (por assim dizer) do que a ROM e, como tal, pode modificar a ROM para instalar o su
aplicativo binário e o SuperUser. Ou seja, nenhuma exploração real está sendo usada para obter raiz.
Estou perdendo alguma coisa aqui? Alguma exploração está sendo realizada implicitamente durante uma dessas etapas?
Como observação, estou falando de um usuário fazendo root em um telefone, não de um código malicioso que obtém acesso root.