По крайней мере, на устройствах Nexus: CF Auto-Root работает, разблокируя загрузчик устройства с помощью fastboot (если он еще не разблокирован), а затем отправляя устройству собственный загрузочный образ (ядро и ramdisk), который должен запускаться вместо загрузки из встроенной системы или раздела восстановления. Это аналогично загрузке ПК с компакт-диска или USB-накопителя, а не с жесткого диска.
(Это поддерживаемая функция fastbootпрограммы, включенной в Android SDK; она не содержит никаких эксплойтов. Если вы посмотрите на скрипт, который входит в пакет CF Auto-Root, вы увидите, что он действительно запускается fastboot oem unlockи выполняет fastboot bootкоманды .)
После запуска пользовательского загрузочного образа он получает полный доступ к устройству (как это делает встроенное системное программное обеспечение), поэтому он копирует некоторые файлы ( suпрограмма и APK-суперпользователя) в системный раздел. В последних версиях Android (5.0+) также вносятся некоторые изменения в конфигурацию ядра SELinux, которые необходимы для обеспечения работоспособности учетной записи root. Затем он перезагружает устройство, чтобы оно загружалось из (модифицированного) ядра и системного раздела.