Рутинг
Рутинг (англ. Rooting) — процесс получения прав суперпользователя root на устройствах под управлением операционной системы Android или оболочек Android. Основными целями рутинга являются снятие ограничений производителя либо оператора связи, манипулирование системными приложениями и возможность запуска приложений, требующих прав администратора[1][2]. Устройство, прошедшее процесс рутинга, называется рутованным. Аналогичный процесс для устройств на базе Apple iOS называется Jailbreak, а для устройств на базе Windows Phone — HardSPL.
Описание
Все приложения Android исполняются в изолированной среде[3] и обычно не имеют доступа к другим компонентам платформы и их данным. Разделы, содержащие системные файлы, монтируются в режиме только для чтения. Данные ограничения призваны защитить систему от вредоносного программного обеспечения, потенциально опасной модификации системных настроек пользователем и обеспечить защиту платных приложений от неправомерного копирования.
Пользователь root имеет неограниченный доступ к любому файлу системы независимо от выставленных ограничений прав доступа[4]. Соответственно, приложение, исполняемое от имени root'а, так же имеет неограниченные права.
Процесс
Процесс рутинга может различаться для различных устройств, но обычно он состоит из следующих этапов:
- Подготовка устройства (например, включение режима отладки по USB, понижение версии прошивки, копирование файлов на карту памяти, разблокирование загрузчика и т. д.);
- Запуск эксплойта на устройстве либо на компьютере, к которому подключено устройство;
- Копирование исполняемого файла su в каталог, указанный в переменной PATH (например /system/xbin/su);
- Установка прав запуска с помощью команды chmod.
Для управления правами используются приложения Superuser, SuperSU, Magisk, Kingo Root с графическим интерфейсом.
Виды Root-прав
- Full Root — полные и постоянные root-права без ограничений.
- Shell Root — постоянные root-права, но без доступа к изменению каталога /system.
- Temporary Root — временные root-права. Если нет возможности получить полный Root, получить временный обычно можно всегда. После перезагрузки права суперпользователя пропадают, как и все внесенные изменения. Временные права могут давать некоторые приложения для получения Root-прав[5].
Способы получения Root-прав
Для получения прав Суперпользователя используется кастомное Recovery: TWRP, CWM либо PhilZ Touch. В ходе рутинга устанавливаются приложение администратор рут прав SuperSU, бинарный файл SU в корневой папке, каталог /su в корне /sdcard и набор консольных утилит BusyBox[6].
Другие эксплойты, использующиеся для получения Root-прав:
- Framaroot
- ZYKURoot
- Rootkhp Pro
- Unlock Root
- Kingo Android ROOT
- KingRoot
- z4root
- Universal AndRoot
- Towelroot
- Vroot
- SuperOneClick
- Baidu Root
- Root Master
- iRoot
- CF Auto Root
- Ct_hack root
- DooMLoRD Easy Rooting Toolkit
- ERoot
- PingPong Root
- Nexus Root Toolkit
- Unlock Root Pro
- ROOT Wizard
- RootkitZ
- Romaster SU
- Geno Tools
- MTKdroidTools
- UNREVOKED
- Root Zhushou
- Root Genius
- Root Zenfone
- Poot
- DingDong Root
- Stump Root
- Root Tool
- 0-click root
- 360 Root
- Root Dashi
- GingerBreak
- VISIONary+
После успешной процедуры рутинга с помощью данных эксплойтов их программы можно удалить. Перед установкой ROOT без компьютера следует отключить антивирусное ПО. Если беспроводное получение ROOT-прав неудачно при неработающем антивирусе (данный способ зависит от устройства и обычно может не пройти на версиях Android 6.0 и выше), рутинг с помощью ПК остаётся самым надёжным способом.
Преимущества и недостатки рутинга
Преимущества:
- Получение информации, которая недоступна с правами обычного пользователя.
- Блокирование рекламы и, соответственно, экономия трафика.
- Контроль действий приложений, например, блокирование звонков и отправки SMS на платные номера для вредоносного ПО.
- Установка системных приложений, которым необходимы права root, например, драйверов, эмуляторов.
- Замена и удаление стандартных программ.
- Разгон или снижение частоты работы процессора.[7]
- Перенос данных и создание резервных копий приложений.
Недостатки:
- Потеря гарантии производителя (не для всех устройств).
- Потеря обновления «по воздуху» (OTA) (не для всех прошивок).
- Отключение системы защиты телефона от вредоносного ПО и несанкционированного доступа (не для всех устройств).
- Существует вероятность сделать устройство полностью неработоспособным.
- На большинстве смартфонов компаний Xiaomi, LG, Sony, HTC, Huawei без разблокировки загрузчика получение прав суперпользователя имеет небольшой смысл.
- Лишение доступа к приложениям с защитой от Root-прав, если Root не замаскирован.
Позиция производителей
Официально root-доступ поддерживается только на моделях телефонов для разработчиков. Рутинг остальных аппаратов приводит к аннулированию гарантии[8]. Для их защиты производители применяют различные методики: например, блокируют загрузку неподписанной электронной цифровой подписью прошивки, запрещают запись в системную область на аппаратном уровне[9].
В отличие от операционной системы iOS, применяемой в устройствах Apple, операционная система Android позволяет устанавливать приложения не только из Google Play, но и из других источников, однако некоторые операторы и производители блокируют загрузку приложений из неофициальных источников. Например, на Amazon Kindle Fire можно устанавливать приложения только с Amazon Market. Аналогично блокируется установка приложений на Barnes & Noble Nook Tablet[10].
С развитием альтернативных прошивок, таких как CyanogenMod, MIUI и других, производители пересмотрели свою позицию по рутингу и установке неофициальных прошивок. HTC[11], Sony Ericsson[12], Samsung[13] и Motorola[14] либо поставляют устройства с разблокированным загрузчиком, либо предоставляют возможность его разблокировки пользователем. Помимо этого, в CyanogenMod и некоторых других кастомных прошивках имеются по умолчанию все функции root-профиля.
Правовая информация
26 июля 2010 года Бюро охраны авторских прав США официально подтвердило легальность рутинга, запуска несанкционированных приложений сторонних разработчиков и снятия SIM lock[15].
См. также
Примечания
- Что такое Root права и для чего они нужны? - 4pda
- Root права - acer-liquid.su
- Безопасность в Android — Справка — Google Play
- Права доступа | Linux: Введение
- Что такое Root-права на android и как их получить - android4all
- Получение root прав через CWM и TWRP Recovery: установка SuperSU, SU и BusyBox — 4idroid.com
- Удаление ROOT-прав: подборка наиболее эффективных способов (рус.), FAQ по Android OS (22 августа 2018). Дата обращения 31 октября 2018.
- Root или не Root, вот в чём вопрос / Habr.com
- Делаем S-OFF на HTC Desire Архивная копия от 10 декабря 2011 на Wayback Machine / d51x.ru
- Kindle Fire and Nook Tablet both get 'upgraded' with reduced functionality / ITWorld (англ.)
- HTC’s bootloader unlock page
- Sony Ericsson supports independent developers
- CyanogenMod supported by Samsung, gives away Galaxy S2 to devs Архивировано 12 сентября 2011 года.
- Exclusive: Motorola RAZR will be the first phone to incorporate Motorola’s new bootloader solution - Ausdroid, 2011 (англ.)
- Federal Register / Vol. 75, No. 143 / Tuesday, July 27, 2010 / Rules and Regulations (англ.)