Em dispositivos Nexus, pelo menos: o CF Auto-Root funciona desbloqueando o carregador de inicialização do dispositivo via fastboot (se ainda não estiver desbloqueado) e enviando ao dispositivo uma imagem de inicialização personalizada (kernel e ramdisk) que ele deve executar em vez de inicializar do sistema interno ou partição de recuperação. É análogo a inicializar seu PC a partir de uma unidade de CD ou USB, e não a partir do disco rígido.
(Esse é um recurso suportado pelo fastboot
programa incluído no Android SDK; não envolve explorações. Se você olhar o script que acompanha o pacote CF Auto-Root, verá que ele realmente executa fastboot oem unlock
e fastboot boot
comanda .)
Depois que a imagem de inicialização personalizada está em execução, ela tem acesso total ao dispositivo (assim como o software do sistema interno), e copia alguns arquivos (o su
programa e o superusuário APK) na partição do sistema. Nas versões recentes do Android (5.0+), ele também faz algumas alterações na configuração do SELinux do kernel, necessárias para permitir que a conta raiz funcione. Em seguida, ele reinicia o dispositivo para inicializar a partir do kernel (modificado) e da partição do sistema.