En los dispositivos Nexus, al menos: CF Auto-Root funciona desbloqueando el gestor de arranque del dispositivo a través de fastboot (si no está ya desbloqueado), y luego enviando al dispositivo una imagen de arranque personalizada (kernel y ramdisk) que debe ejecutar en lugar de arrancar desde el sistema incorporado o la partición de recuperación. Es análogo a arrancar el PC desde un CD o una unidad USB en lugar de hacerlo desde el disco duro.
(Esta es una función compatible con el fastboot
programa incluido en el SDK de Android; no implica ningún exploit. Si miras el script que viene en el paquete CF Auto-Root, verás que realmente sólo ejecuta fastboot oem unlock
y fastboot boot
comandos).
Una vez que la imagen de arranque personalizada se ejecuta, tiene acceso completo al dispositivo (al igual que el software del sistema incorporado), por lo que copia algunos archivos (el su
y APK de superusuario) en la partición del sistema. En las versiones recientes de Android (5.0+), también hace algunos cambios en la configuración SELinux del kernel que son necesarios para permitir que la cuenta Root sea funcional. Luego reinicia el dispositivo para que arranque desde el kernel (modificado) y la partición del sistema.