Универсальный ROOT для любого Android смартфона.

Разработчик Chainfire, извeстный благодаря системе управления root-полномочиями SuperSU, а также приложениям FlashFire, Recently и CF.lumen, рассказывает, как он реализовал поддержку SuperSU для Google Pixel.

Image result for root android pixel

Чтобы приложения могли получить доступ root в системе, должно быть как минимум два компонента: бинарный файл su, в Linux-системах используемый для выполнения команд с правами root, и приложение для обработки запросов на root-доступ и вывода соответствующего уведомления на экран.

Ранние приложения для рутинга размещали эти компоненты в разделе system: бинарник su в /system/bin (или /system/xbin), а приложение (Superuser.apk или SuperSU.apk) — в /system/app. Но была в этом подходе проблема: обновление прошивки либо стирало их, либо просто не устанавливалось (если речь об инкрементальном обновлeнии). Тогда Chainfire решил размещать эти компоненты в RAM-диске, который загружается в оперативную память сразу после ядра. Такой подход абсолютно не мешал обновлениям и отлично работал до выхода Android 7.0 и смартфонов Pixel.

[ad name=»Responbl»]

Оказалось, что RAM-диск в них используется только при загрузке в recovery, тогда как содержимое «системного» RAM-диска находится в разделе system. Причем сам раздел system подключается как корень, а не к каталогу /system. Чтобы решить эту проблeму, пришлось создать утилиту, которая формирует RAM-диск заново, модифицирует ядро, чтобы оно загружало RAM-диск. Более того, чтобы она правильно отработала, сама утилита должна загружаться из RAM-диска.

Ссылка на первоисточник

Click to rate this post!
[Total: 23 Average: 3.6]

Специалист в области кибер-безопасности. Работал в ведущих компаниях занимающихся защитой и аналитикой компьютерных угроз. Цель данного блога - простым языком рассказать о сложных моментах защиты IT инфраструктур и сетей.

Leave a reply:

Your email address will not be published.