Sur les appareils Nexus, au moins : CF Auto-Root fonctionne en déverrouillant le chargeur de démarrage de l'appareil via fastboot (si ce n'est pas déjà déverrouillé), puis en envoyant à l'appareil une image de démarrage personnalisée (noyau et ramdisk) qu'il doit exécuter au lieu de démarrer à partir du système intégré ou de la partition de récupération. C'est similaire à démarrer votre PC à partir d'un CD ou d'une clé USB au lieu du disque dur.
(Il s'agit d'une fonctionnalité prise en charge du programme fastboot
inclus dans le kit de développement Android ; cela ne nécessite aucune exploitation. Si vous regardez le script inclus dans le package CF Auto-Root, vous verrez qu'il exécute simplement les commandes fastboot oem unlock
et fastboot boot
.)
Une fois que l'image de démarrage personnalisée est en cours d'exécution, elle bénéficie d'un accès complet à l'appareil (tout comme le logiciel système intégré), donc elle copie certains fichiers (le programme su
et l'APK du superutilisateur) dans la partition système. Sur les versions récentes d'Android (5.0+), elle apporte également certaines modifications à la configuration SELinux du noyau qui sont nécessaires pour permettre au compte root d'être fonctionnel. Ensuite, elle redémarre l'appareil pour qu'il démarre à partir du noyau et de la partition système (modifiée).