Суперпользователь с поддержкой ядра (KernelSU)

click fraud protection

В отличие от Magisk, KernelSU встраивает возможность получения root-прав в само ядро. Он заставляет оболочку думать, что /system/bin/su существует на устройстве.

Root очень важен для нас в XDA. Оно позволяет пользователям контролировать свои устройства и добавлять функции, которые не всегда доступны, такие как запись разговоров, темы и расширенный мониторинг заряда батареи. За прошедшие годы было несколько реализаций root, наиболее популярной из которых, вероятно, является SuperSU. Однако в последнее время, с появлением SafetyNet и увеличением ограничений для корневых устройств, Magisk стал корневой реализацией. Предпочтительный выбор, поскольку функция Magisk Hide позволяет пользователям эффективно скрывать факт наличия у них root-прав от таких приложений, как Netflix и Google. Платить. Однако реализация и функциональность Magisk Hide — это во многом игра в кошки-мышки, в которой Google исправляет его, а Magisk работает над этим патчем.

Magisk работает в так называемом пользовательском пространстве. Здесь также запускается большинство программ на вашем телефоне, будь то игры, музыкальные плееры или фитнес-трекеры. Это обращенное к пользователю «пространство» операционной системы устройства. В пользовательском пространстве также происходит большая часть битвы за Magisk Hide. К сожалению, время идет, и Google исправляет все больше и больше методов Magisk Hide, и места для скрытия остается все меньше и меньше. В будущем Magisk может потерять возможность полностью скрывать root.

Планируя этот случай, признанный разработчик XDA zx2c4 (Джейсон Доненфельд), известный на XDA как его работа над WireGuard и открытие Уязвимость загрузчика OnePlus, создал Суперпользователь с поддержкой ядра (КернелГУ).

В отличие от Magisk, KernelSU встраивает возможность получения root-прав в само ядро. Здесь он перехватывает системные вызовы, чтобы заставить оболочку думать /system/bin/su существует на устройстве, хотя на самом деле его нет. Затем он выполняет команды, запускаемые с помощью su как если бы это были обычные команды, но с правами root. Этот процесс не может быть предотвращен с помощью SELinux — ядро ​​может даже отключить SELinux, если захочет — а возможность скрыть статус root от пользовательского пространства и, следовательно, от SafetyNet практически безгранична.

Однако KernelSU далек от завершения. На данный момент не существует механизма контроля доступа (например, Magisk Manager). По этой причине KernelSU в настоящее время наиболее полезен разработчикам ядра, а не пользователям. Процесс сборки ядра требует от разработчиков постоянно пересобирать и загружать загрузочные образы для тестирования и исправления ошибок и функций, а наличие root-прав значительно упрощает эту задачу. Однако при использовании таких опций root, как Magisk или SuperSU, загрузочный образ необходимо исправлять после каждой сборки, чтобы root работал, что может существенно повлиять на процесс разработки. KernelSU, с другой стороны, предназначен для интеграции во время сборки, без необходимости внесения исправлений после сборки. Чтобы упростить интеграцию KernelSU для разработчиков, доступна простая однострочная команда:

curl -LsS "https://git.zx2c4.com/kernel-assisted-superuser/plain/fetch-and-patch.sh" | bash -

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

Хотя KernelSU находится на ранней стадии развития и требуется дополнительная работа, чтобы сделать его полнофункциональным, это интересный проект. Мы говорили с Магиск-создатель, признанный разработчик XDA топджонву, о KernelSU, и он тоже нашел это интересным, сказав, что, поскольку KernelSU работает на уровне ядра, Функциональность Magisk Hide была бы намного надежнее, если бы она была добавлена, и было бы «весело работать с ней». осуществлять."

Если вы разработчик ядра или ПЗУ и интересуетесь KernelSU, ознакомьтесь с Тема на XDA и домашняя страница проекта Узнать больше.