Рутинг

Рутинг (англ. Rooting) — процесс получения прав суперпользователя (root) на устройствах под управлением операционной системы Android или оболочек Android. Основными целями рутинга являются снятие ограничений производителя либо оператора связи, манипулирование системными приложениями и возможность запуска приложений, требующих прав администратора, а также получения доступа к системным файлам[1][2]. Устройство, прошедшее процесс рутинга, называется рутированным. Аналогичный процесс для устройств на базе Apple iOS называется Jailbreak, а для устройств на базе Windows Phone — HardSPL.

Описание править

Все приложения Android исполняются в изолированной среде[3] и обычно не имеют доступа к другим компонентам платформы и их данным. Разделы, содержащие системные файлы, монтируются в режиме только для чтения. Данные ограничения призваны защитить систему от вредоносного программного обеспечения, потенциально опасной модификации системных настроек пользователем и обеспечить защиту платных приложений от неправомерного копирования.

Пользователь root имеет неограниченный доступ к любому файлу системы независимо от выставленных ограничений прав доступа[4]. Соответственно, приложение, исполняемое от имени root-доступа, также имеет неограниченные права.

Процесс править

Процесс рутинга может различаться для различных устройств, но обычно он состоит из следующих этапов:

  1. Подготовка устройства (например, включение режима отладки по USB, понижение версии прошивки, копирование файлов на карту памяти, разблокирование загрузчика и т. д.);
  2. Копирование исполняемого файла su в каталог, указанный в переменной PATH (например /system/xbin/su);
  3. Установка прав запуска с помощью команды chmod.

Для управления правами используются приложения SuperSU и Magisk с графическим интерфейсом.

Виды Root-прав править

  • Full Root — полные и постоянные root-права без ограничений.
  • Shell Root — постоянные root-права, но без доступа к изменению каталога /system.
  • Temporary Root — временные root-права. Если нет возможности получить полный Root, получить временный обычно можно всегда. После перезагрузки права суперпользователя пропадают, как и все внесенные изменения. Временные права могут давать некоторые приложения для получения Root-прав[5].

Способы получения Root-прав править

Для получения root прав используются различные кастомные рекавери, такие как TWRP, OrangeFox Recovery или CWM, после чего требуется прошить zip-файл SuperSu или Magisk. Также для Magisk имеется способ использующий изменение boot.img в системе, используя его замену с помощью ADB.

На данный момент существует два варианта получения прав root:

  1. SuperSU (до Android 6)
  2. Magisk (с Android 5 (6 для версии 26.1) и выше)

Эти программы не используют эксплоиты для получения root прав., а также не используют ПК в большинстве случаев.

Также метод виртуальной ОС — VMOS.

Преимущества и недостатки рутинга править

Преимущества:

  • Получение информации, которая недоступна с правами обычного пользователя.
  • Блокирование рекламы и, соответственно, экономия трафика.
  • Контроль действий приложений.
  • Установка системных приложений, которым необходимы права root.
  • Замена и удаление стандартных программ.
  • Разгон или снижение частоты работы процессора.
  • Перенос данных и создание резервных копий приложений.

Недостатки:

  • Потеря гарантии производителя (не для всех устройств).
  • Потеря обновления «по воздуху» (OTA) (не для всех прошивок).
  • Отключение системы защиты телефона от вредоносного ПО и несанкционированного доступа (не для всех устройств).
  • На большинстве смартфонов без разблокировки загрузчика получение прав суперпользователя невозможно.
  • Лишение доступа к приложениям с защитой от Root-прав, если Root не замаскирован.
  • Существует вероятность сделать устройство полностью неработоспособным.

Позиция производителей править

Официально root-доступ поддерживается только на моделях телефонов для разработчиков (en:Android Dev Phone). Рутинг остальных аппаратов приводит к аннулированию гарантии[6]. Для их защиты производители применяют различные методики: например, блокируют загрузку неподписанной электронной цифровой подписью прошивки, запрещают запись в системную область на аппаратном уровне[7].

В отличие от операционной системы iOS, устанавливаемой в устройства Apple, операционная система Android позволяет устанавливать приложения не только из Google Play, но и из других источников, однако некоторые операторы и производители блокируют загрузку приложений из неофициальных источников. Например, Kindle Fire от Amazon позволяет устанавливать приложения только с Amazon Market. Аналогично блокируется установка приложений на Barnes & Noble Nook Tablet[8].

С развитием альтернативных прошивок, таких как CyanogenMod, MIUI и других, производители пересмотрели свою позицию по рутингу и установке неофициальных прошивок. Они либо поставляют устройства с разблокированным загрузчиком либо предоставляют возможность его разблокировки пользователем. Помимо этого, в CyanogenMod и некоторых других кастомных прошивках имеются по умолчанию все функции root-профиля.

Правовая информация править

26 июля 2010 года Бюро охраны авторских прав США официально подтвердило легальность рутинга, запуска несанкционированных приложений сторонних разработчиков и снятия SIM lock[9].

См. также править

Примечания править

Ссылки править