По крайней мере, на устройствах 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. Затем он перезагружает устройство, чтобы оно загружалось из (модифицированного) ядра и системного раздела.