Установка кастомных прошивок. Root-права и Magisk
Доброго времени суток всем моим читателям! Сегодня, продолжая цикл статей о кастомизации своего устройства, расскажу о том что такое права «root», зачем они нужны, кому они абсолютно точно не нужны и, если вы все-таки решили, как их получить.
Цикл статей
- Разблокировка загрузчика и установка стороннего recovery
- Установка сторонней прошивки
Что такое root-права?
Сразу оговорюсь — я не буду вдаваться в технические детали реализации самого процесса рутирования телефона, поскольку недостаточно компетентен в этом, да и статья не про это.
Простыми словами — это права суперпользователя, которые вы можете делегировать одним приложениям и отказывать в доступе к ним другим. С этими правами приложения могут использовать команду su и обходить стандартные ограничения Android, получать доступ к системным файлам и папкам, внедряться в память других процессов и так далее.
Зачастую, в схеме root имеются 2 части — сервер, который выполняет основную программную работу и клиент, который необходим для взаимодействия пользователя с первым, позволяя гибко настраивать систему выдачи этих самых прав.
Что такое Root права и для чего они нужны
Подробнее вы можете почитать на сайтах, как ни странно, компаний, разрабатывающих антивирусные решения, вроде Eset или Kaspersky, поскольку данный вопрос непосредственно связан с безопасностью системы Android.
Зачем нужны root-права?
Честно говоря, когда мне задают вопрос, зачем я получал root-права на своем девайсе, я иногда впадаю в ступор, поскольку использую какое-то специфичное ПО, требующее таких разрешений достаточно редко и точечно.
Как хорошие примеры могу привести эффективное использование программ-firewalls, которые с помощью расширенных прав могут более гибко и эффективно контролировать траффик. Также, программы предназначенные для очистки «мусорных» файлов работают гораздо эффективнее, как и разнообразные файловые менеджеры, которые могут позволить вам редактировать системные файлы. Программы для резервного копирования приложений могут сохранять все данные приложения.
Отдельно хотелось бы упомянуть Xposed Framework — специализированное ПО в виде фреймворка, позволяющее одним приложениям изменять поведение системных функций Android в других приложениях и получать более полный доступ к их ресурсам. Например, именно на этом принципе основан Xposed-модуль для перевода текста на любой язык прямо в целевом приложении.
Кому НЕ нужны root-права
Именно так. Если вы сидите на данном ресурсе и дочитали до этого момента, полагаю, вы настроены решительно и будет проще перечислить все ПРОТИВ, нежели все ЗА. Преимуществ у расширенных прав действительно много, но это силой надо уметь управлять. Таким образом, список пользователей, которым я бы не рекомендовал получать root, можно сформулировать примерно так:
- Ваш телефон на гарантии (при получении root гарантия почти всегда снимается)
- Вы не можете сформулировать, зачем они вам нужны
- Вы работаете на телефоне с информацией содержащую банковскую/государственную/иную тайну
- У вас нет возможности сделать полный backup всех разделов системы , равно как и нет возможности восстановить устройство в случае утраты работоспособности из-за root-прав
Способы получения root
Раньше, когда деревья были высокими а слоны мохнатыми, во времена Android ~4, существовали специальные утилиты как на само устройство так и на ПК, с помощью которых можно было получить root.
Если выражаться точнее, эти утилиты взламывали систему одним из множества способов и снисходительно делились с вами кусочком этого доступа.
Большая часть таких утилит была на китайском языке и тыкаться приходилось буквально вслепую. Вот самые яркие представители этого класса:
- Baidu Root
- King Root (не путать с Kingo Root)
- Root Genius
Преимущества такого способа получения очевидны — простота получения и относительно высокий шанс успеха. Однако такие недостатки как шпионаж, фоновая установка ПО и в целом непрозрачность схемы, как по мне, перекрывают это преимущество с лихвой. Тем более, что на последних версиях Android вероятность успеха получения прав с помощью этих утилит всё ниже. Не рекомендую данный способ к применению.
В определенный момент, как альтернатива этим утилитам, на арену рутирования выходит OpenSource-проект Magisk разработанный, несомненно, талантливым, программистом, под ником topjohnwu.
Главная особенность данного метода — возможность «внесистемного» внесения изменений с помощью подключаемых модулей. Это означает, что с выключением Magisk-модуля, отменялись изменения в системе, которые вносил этот модуль.
Работает это, на самом деле, проще чем можно подумать. В корне файловой системы создается «зеркало» раздела data (так и называется — data_mirror) и необходимые изменения вносятся в систему посредством создания символических ссылок на этот раздел.
Также, старые версии Magisk «из коробки» способны скрыть факт наличия root-прав от программ, которые не любят их (банковские приложения, например). Новые версии требуют установки дополнительных модулей.
Как получить root-права?
Мы, наконец, переходим от скучных лекций к решительным действиям.
Для получения таких прав, вы можете воспользоваться одной из перечисленных выше утилит, но только в том случае, если у вас есть возможность восстановить систему и нет возможности установить Magisk. В целом, я всё равно не рекомендую такие утилиты к применению.
Более подробно мы будем рассматривать установку Magisk на примере самой последней версии (25.2).
Предполагается, что вы уже разблокировали загрузчик и установили сторонний recovery. Устанавливать стороннюю прошивку необязательно, это не должно вызвать проблем.
Первым делом нам необходимо, как обычно, сделать полный бекап разделов системы на внешний носитель, вроде sd-карты, чтобы если что-то пойдет не так, вернуть как было.
Следующим шагом будет скачивание установочного файла Magisk (исключительно из официального репозитория!). Если ваш recovery позволяет устанавливать APK как zip-архивы, как, например, OrangeFox, то скачанный файл в исходном виде копируем на внешнюю память устройства, поскольку внутренняя зачастую шифруется и вы просто не найдете этот файл из recovery. В случае, если у вас другой recovery, файл Magisk.apk необходимо переименовать в Magisk.zip и таким же образом скопировать на устройство.
Далее необходимо загрузиться в recovery и сделать отдельно резервную копию раздела boot.img. Далее поясню, зачем.
В Magisk имеется возможность полного удаления root с помощью переименования файла установки в uninstall.zip и прошивки в recovery, НО, он не работает на системах с включенным шифрованием data.
Если вдруг какой-то модуль выведет систему из строя и у вас не будет возможности загрузиться в систему, будет очень проблемно этот самый модуль отключить или отключить весь Magisk.
Имея на руках boot исходной системы (без Magisk) мы сможем восстановить конкретно этот раздел и, в большинстве случаев, работоспособность системы.
После того, как бекапы сделаны, люки задраены, просто прошиваем установочный файл Magisk как любой другой архив через recovery. Всё.
В общем и целом, ничего сложного в самом процессе установки нет, после прошивки и загрузки системы, в меню приложений появится приложение «Magisk», которое при первом запуске обновится и будет работать. Самое важно и интересное кроется в настройке.
Настройка Magisk или как пройти SafetyNet
В новых версиях (24+) Magisk на смену Magisk Hide пришел новый метод сокрытия root — Zygisk. Его название состоит из слов Zygote — материнского низкоуровнего процесса Android, с помощью которого происходит работа Magisk и собственно названия приложения.
По умолчанию этот режим отключен в настройках Magisk, но я рекомендую включить его при первой же возможности.
Сразу после этого необходимо установить два модуля из Github-репозиториев — Universal SafetyNet Fix и Shamico. Первый нужен для прохождения CTS-аттестации (сертификация устройства SafetyNet), а второй для корректной работы функции скрытия root и DenyList magisk. Установка модулей интуитивно понятна и не должна вызвать вопросов.
Не уходя далеко после установки модулей переходим в раздел «Настройка DenyList», не активируя пункт «Активировать DenyList».
В этом меню мы увидим список установленных приложений. Скрытие root по умолчанию применено к сервисам Google, отдельно включать не надо! В большинстве случаев достаточно проставить галочки рядом с приложениями, от которых вы хотите скрыть рут, но бывают случаи, когда это не работает (например, некоторые банковские приложения).
Тогда я советую нажать на плашку с названием приложения. Откроется весь список компонентов, от которых скрывается рут и проставить переключатель возле каждого из них. Приложений, которые обходили бы этот метод я еще не видел.
Для закрепления рекомендую использовать функцию «Скрыть приложение Magisk», поскольку его наличие можно вычислить элементарно по списку установленных приложений (так, например, работает MirPay). MagiskManager пересоберется со случайным именем пакета и предложит себя установить.
Если есть возможность, можно ограничить конкретным приложениям доступ к списку приложений с помощью Xposed-модулей вроде Thanox или XPrivacy Lua и тогда скрывать Magisk Manager не обязательно.
После проделанных действий необходимо как можно скорее перезагрузить телефон. Загрузка может быть слегка дольше, чем обычно.
Без должной настройки сервисы Google вскоре заметят чужака в системе и забракуют устройство по CTS.
Скрытие root для приложения необходимо делать до первого запуска целевого приложения! Мне попадались довольно злопамятные программы, которые раз увидев root, сохраняли мой id на сервере, приходилось либо перешивать устройство, либо подсовывать им фейковый Android ID.
Опасности root-прав
Не буду утверждать, что root-права это безопасно — любой необкатанный magisk модуль может привести систему в нерабочее состояние, при неумелом редактировании системных файлов система также придет в негодность, а функционал программ, запрашивающих root не всегда прозрачен. Не давайте root права приложениям, которым, по вашему мнению, они не нужны! Периодически такие права запрашивают Яндекс Карты, статистики ради или для чего-то еще — неизвестно, но проверять не хочется.
Говорить о том, что наличие root как-то сильно ослабляет защиту системы тоже не буду — доступ вполне себе контролируемый, и если вы будете соблюдать элементарную цифровую гигену, никаких проблем не будет.
Самое опасное, наверное — потеря гарантии производителя, что логично.
Выводы
Root-права — мощный инструмент, который дает широкий доступ к системе, но как и любой инструмент, им нужно уметь пользоваться, а в неумелых руках он принесет больше вреда, чем пользы.
Мой набор Magisk-модулей
- Busybox — дает доступ приложениям к встроенному busybox от Magisk
- No Storage Restricts — убирает ограничения в выборе папок в файловом менеджере
- LuckyPatcher — его модуль нужен для переноса приложений в системный раздел
- Move Certificates — перенос пользовательских сертификатов в систему
- NFC Screen Off — работа NFC при выключенном экране
Источник: habr.com
Root Checker
Убедитесь, что правильный доступ root (superuser или su) настроен и работает с использованием Root Checker! Бесплатная, быстрая, простая и используемая на более чем 50 миллионах Android-устройств. Root Checker показывает пользователю, правильно ли установлен и работает root-доступ (суперпользователь).
Это приложение предоставляет даже самому новому пользователю Android простой способ проверить свое устройство на наличие прав root (администратор, суперпользователь или su). Приложение предоставляет очень простой пользовательский интерфейс, который легко уведомляет пользователя, имеют ли они должным образом настроенный доступ root (суперпользователь).
* Не стесняйтесь, пишите мне на любые вопросы. Я всегда отвечаю! *
Это приложение будет тестировать устройство на наличие root-прав (суперпользователя), используя очень простой, быстрый и надежный метод, который был успешным для более 50 миллионов устройств Android. Двоичный файл su является наиболее распространенным двоичным файлом, используемым на устройствах Android для предоставления и управления доступом root (суперпользователь). Root Checker проверит и убедится, что двоичный файл su находится в общем стандартном месте на устройстве. Кроме того, Root Checker проверит, правильно ли работает двоичный файл su при предоставлении корневого (суперпользовательского) доступа.
Много раз пользователи сталкиваются с проблемами на пути установки, настройки и получения root-доступа или удаления и удаления root-доступа. Для некоторых пользователей процесс может показаться сложным, в то время как для других процесс может показаться простым. Независимо от технических навыков пользователя Root Checker быстро и правильно проверит, работает ли root-доступ на 100%. Процесс подтверждения корневого доступа иногда называют другими терминами, такими как получение доступа суперпользователя или получение доступа администратора. Root Checker охватывает все эти термины, так как они относятся к одной основной функции, и могут выполнять команды через двоичный файл su с доступом root.
Если приложения управления Superuser (SuperSU, Superuser и т. Д.) Установлены и работают должным образом, эти приложения будут предлагать пользователю принять или отклонить запрос на получение root-доступа от Root Checker. Принятие запроса позволит Root Checker проверить и подтвердить доступ с правами root. Отказ в запросе приведет к тому, что Root Checker сообщит об отсутствии корневого доступа.
В тех случаях, когда есть опасения, что кто-то другой мог установить root-доступ на устройстве, Root Checker может проверить, установлен ли root-доступ, предоставляя больше информации и знаний.
Источник: play.google.com
Что такое root в Android?
Из этой статьи вы узнаете что такое root на Андроид.
Root – доступом называется доступ к системе Android с правами администратора. То есть rooting-ом называют изменении я в операционной системе, которые приведут к предоставлению больших возможностей в управлении смартфоном.
Само понятие root как суперпользователя пришло из системы Linux, основы и ядра Android. Те, кто имеет представление о работе в этой системе, знают, что root – встроенная учетная запись системного администратора, который имеет много дополнительных возможностей, недоступных другим простым пользователям.
Чтобы обеспечить такой уровень доступа на своем смартфоне, достаточно просто установить на него программу под название su (сокращение от superuser, суперпользователь). Будучи суперпользователем, можно получить доступ к системным файлам, просмотреть кеш и сделать много других вещей.
Зачем нужен такой уровень доступа?
Имеет ли смысл этим заниматься? Дело в том, что разработано много приложений, которые для установки и запуска требуют в обязательном порядке доступа с полными правами. Их использование позволяет значительно расширить возможности любого смартфона и сделать работы с ним значительно более интересным. Это – такие приложения, как Root Explorer , Task Manager For Root, Titanium Backup , ShootMe, Carbon Backup и другие. В описании программ такого типа указывается, что для нее необходим уровень доступа root.
Имея полный доступ к системе Android, можно выполнять массу других функций, например:
- Вносить изменения в файлы операционной системы, а также ярлыки, темы;
- Удалять стандартные программы операционной системы;
- Запускать на выполнение любые исполняемые файлы, предназначенные для Linux;
- Создавать полную резервную копию установленной системы со всеми настройками и приложениями, используя дополнительные программы;
- Запускать Tether-приложения, что даст возможность использовать конкретный смартфон в качестве точки доступа (в версии android 2.2 эта возможность сделана штатной).
Имеющиеся прошивки с полными правами администратора могут дополнительно позволить пользователям устанавливать приложения на карту памяти, переносить кэш на карту, изменять многие системные настройки, к которым нет доступа через стандартное меню опций, и другие возможности.
Нужно иметь в виду, что одно только предоставление прав root не добавят в смартфон этих возможности, нужно еще установить необходимые программы, либо самостоятельно вносить изменения в системные файлы.
Какие бывают виды доступа root.
В системе Android есть несколько видов административного доступа root:
Temporary root – временное предоставление административных прав для выполнения определенных функций. После перезагрузки системы возвращаются обычные пользовательские права.
Shell root – постоянные права администратора без доступа к системной папке system.
Full root – полный постоянный неограниченный доступ с правами администратора.
Насколько это безопасно?
Безусловно, такой полный доступ к операционной системе может быть опасен.
Прежде всего, при установке на смартфон программы, обеспечивающей доступ с root-правами, происходит потеря гарантии. Это связано с тем, что такой уровень доступа может нанести операционной системе непоправимый вред при неправильном или просто неосторожном обращении.
Вернуть телефон в обычный режим, к сожалению, возможно не всегда. Это зависит от конкретной модели смартфона. Для одних возвращение в стандартный режим не представляет никаких трудностей, для других это представляет большую сложность. Поэтому прежде, чем включать rooting, стоит уточнить в сети Интернет возможности в будущем вернуть все обратно.
Проблемы могут возникнуть и с установкой обновлений. Дело в том, что стандартные обновления устанавливаются только на лицензионную и не изменённую версию операционной системы. Поэтому можно вернуть смартфон в обычный режим, установить обновления, а затем снова перевести его в режим root – прав.
Таким образом, rooting может предоставить массу дополнительных возможностей владельцам смартфонов, но одновременно может стать источником дополнительной опасности и головной боли.
Как получить root-доступ на моём смартфоне?
На данный момент существуют, как приложения для автоматического получения root-доступа для различных смартфонов буквально в один клик, так и приложения, ориентированные на взлом какой-то определённой модели. Среди автоматизированных инструментов наиболее известны: Unlock Root , z4root , HTC Quick Root , Easy Rooting Toolkit , Gingerbreak , SuperOneClick , Visionary , Unrevoked . Однако, универсальные рутилки часто ограничиваются каким-то количеством моделей, к которым подходят, а потому зачастую инструкцию и инструмент для получения рута именно на вашем смартфоне приходится искать самостоятельно, например, в тематических разделах форума https://xda-developers.com/ или https://4pda.ru
Статьи по теме APK:
- Что такое APK?
- Необходимые инструменты для работы с APK
- Как устанавливать приложения для Android с расширением apk
- Как удалить приложения (программы, игры) на android?
- Как скачивать и покупать приложения с Google Play
- Что такое root в Android?
- Структура APK файла
- Разборка (декомпиляция) APK файла с помощью Apktool
- Локализация файла APK
- Упаковка APK приложения и подпись (компиляция и подпись)
- Выбор места установки приложения APK
- Редактирование и замена иконок в APK
- Узнаем какие права у приложения APK
- Как извлечь установочный файл с приложением (.apk) из системы
- Как удалить рекламу из приложений APK
- Как скачать приложение APK на компьютер с Google Play
- Какие встроенные (системные) приложения Android можно удалить
- Деодексирование системных приложений в Андроид
- Как редактировать системные apk
- Как получить исходный код приложения с расширением Apk
- Одексирование Android приложений
Источник: upgrade-android.ru
Как получить Root-права на Android
Владельцы гаджетов с операционной системой Android все чаще сталкиваются с необходимостью получения Root прав. Чтобы разобраться какие программы лучше всего подойдут для этих целей, и для чего вообще нужны эти права давайте разберёмся в статье.
Что такое Root-права и для чего они нужны
Root в переводе с английского обозначает корень. И в сфере IT этот термин применяется для обозначения корня системы, то есть основного узла, отвечающего за функционирование всего софта на устройстве. Если говорить проще, то Root права – права администратора (разработчика), которые дают пользователю неограниченный доступ по управлению своим гаджетом.
Владелец смартфона получает полный контроль над всеми системными файлами и может вносить любые изменения. Для чего это нужно пользователю? Как правило, причин может быть много, например, все знают, что некоторые программы удалить невозможно, а между тем они постоянно работают в фоновом режиме и забирают ресурсы телефона, из-за чего тот быстро разряжается. Ну или наоборот – нужные программы просто не работают без root прав.
Как узнать наличие или отсутствие Root-прав
Как правило, если вы приобрели новенький смартфон с заводской прошивкой, то скорее всего прав суперпользователя на нем не будет, а вот если ваш гаджет был куплен на китайской торговой площадке, да ещё и с кастомной прошивкой, то скорее всего он уже имеет рут-права. Чтобы в этом убедиться можно воспользоваться тремя методами:
- установить специальную программу, например Root Checker;
- использовать диагностические утилиты;
- с помощью визуального осмотра.
Если вы решили воспользоваться визуальным методом, то поищите на своём смартфоне управляющую программу SuperSu или ее аналоги. Если в списке установленных приложений ее нет, то скорее всего root права у вас отсутствуют. Хотя можно попробовать установить любое приложение, для работы которого нужны права администратора. Если прав нет, то приложение не будет работать.
Проверить наличие прав с помощью приложения Root Checker тоже довольно просто. Для этого необходимо установить эту программу и запустить ее. После проверки статуса, программа уведомит о наличии или отсутствии прав.
Некоторые программы диагностики также имеют в своём арсенале функцию проверки «Root». Например, утилита CPU-Z, и ей подобные быстро определяют наличие Root прав.
Источник: apkshki.com