todo/root/Magisk.md
loop-uh 08b4491545
Some checks failed
Published content check / validate (push) Failing after 3s
Завершить переезд базы знаний на Forgejo
Обновить правила репозитория и подписи исходников в 99 заметках, не затрагивая пользовательские незакоммиченные файлы. Сделать Forgejo Actions содержательным: проверять опубликованный commit, а не пустое рабочее дерево после checkout.
2026-08-07 08:27:28 +03:00

12 KiB
Raw Permalink Blame History

date tags aliases link
2026-07-18
root
android
magisk
systemless
Magisk
магиск
systemless root
https://github.com/topjohnwu/Magisk

🎭 Magisk — systemless-root и модули для Android

[!info] О чём заметка Magisk — самый популярный способ получить root-права на Android, работающий «поверх» системы (в userspace). Заметка объясняет, что это такое, зачем нужен и как устроен (systemless-патч загрузочного образа, модули, Zygisk, скрытие root). Это обзорная (теоретическая) заметка; пошаговая установка вынесена в root/Magisk-install. Родственный, но иначе устроенный подход — root через ядро — описан в root/ReSukiSU; сравнение двух подходов — в разделе root/ReSukiSU#KernelSU/ReSukiSU против Magisk: чем отличается и когда что выбрать.

TL;DR

  • Magisk (автор — topjohnwu / John Wu) даёт root, патча загрузочный образ (boot.img или init_boot.img) и подгружая суперпользователя при загрузке. Это userspace-root, «надстройка над системой».
  • Ключевая идея — systemless: системный раздел физически не меняется, модификации накладываются поверх. Поэтому их легко откатить.
  • Возможности: выдача root приложениям, модули (systemless-моды), Zygisk (код в процессах приложений), DenyList/скрытие root от банков и античитов.
  • Ставится почти на любое устройство и не требует GKI-совместимого ядра — в отличие от root/ReSukiSU. Зато обнаруживается относительно легче.
  • Пошаговая установка (требования, патч образа, Samsung, OTA) — в root/Magisk-install.

Что такое Magisk и чем он отличается от KernelSU

Root (суперпользователь) на Android — это права делать то, что обычно запрещено: менять системные файлы, блокировать рекламу на уровне системы, удалять предустановленные приложения, тонко настраивать сеть. Общее введение в root есть в root/ReSukiSU#Что такое «root через ядро» и при чём тут KernelSU; здесь — про конкретно магисковый подход.

Magisk получает эти права так: он патчит загрузочный образ устройства (boot.img/init_boot.img) — точнее, встроенный в него ramdisk (маленькую стартовую файловую систему). При загрузке магисковый код (magiskinit) стартует раньше системы, поднимает демон и выдаёт root. То есть суперпользователь работает в пользовательском пространстве (userspace), поверх системы.

Проще говоря: Magisk — это «заплатка на загрузчик системы», которая при каждом старте подсовывает Android свой слой с правами root. Само ядро Linux при этом не трогается.

Ключевое отличие от root/ReSukiSU: там root встроен в само ядро, здесь — поверх системы. Отсюда практическая разница:

  • Плюс Magisk: ставится почти на всё, не зависит от версии/сборки ядра (GKI не обязателен). Именно поэтому Magisk часто оказывается практичнее на кастомных ROM вроде root/ReSukiSU-install#Почему LKM не грузится на кастомном ROM (LineageOS и т.п.), где готовый модуль KernelSU не встаёт в самосборное ядро.
  • Минус Magisk: раз это «надстройка сверху», проверяющим приложениям её относительно легче обнаружить, чем root в ядре.

Полное сравнение с таблицей и разбором «когда что выбрать» — в root/ReSukiSU#KernelSU/ReSukiSU против Magisk: чем отличается и когда что выбрать.

Что значит «systemless» и зачем это нужно

Systemless — центральное понятие Magisk. Модификации применяются без изменения системного раздела: физически /system остаётся нетронутым, а Magisk лишь накладывает поверх него слой изменений (через overlay/bind-mount). Система «видит» изменённые файлы, но на диске оригинал цел.

Зачем так:

  • Легко откатить — отключил модуль, и всё вернулось.
  • Не ломает проверки целостности раздела так грубо, как прямая правка /system.
  • Переживает часть обновлений проще (хотя обновление прошивки всё равно затирает патч загрузочного образа — см. #Root и обновления прошивки (OTA)).

Возможности

Модули (systemless-моды)

Модуль Magisk — это пакет, который накладывает свои файлы поверх системы без её изменения. Так ставят системные твики, шрифты, аудио-моды, правки build.prop, hosts-файлы для блокировки рекламы и т.д. Модули включаются/выключаются в приложении Magisk и не портят систему необратимо.

Zygisk

Zygisk — «Magisk внутри Zygote». Zygote — процесс Android, из которого порождаются все приложения. Zygisk позволяет модулям выполнять код в контексте каждого приложения. На этом механизме работает, например, root/LSPosed — фреймворк для перехвата методов приложений в рантайме. Zygisk также нужен для качественного скрытия root.

DenyList и скрытие root

DenyList — список приложений, от которых Magisk прячет факт root и своё присутствие (отключает в их процессах Zygisk-инъекции и root). Используется, чтобы банковские, платёжные приложения и игры с античитом не видели root.

[!warning] Скрытие root — «гонка вооружений», гарантий нет Сокрытие (DenyList + Zygisk-модули вроде Shamiko, плюс обход Play Integrity) работает не всегда: системы проверки постоянно обновляются. Это непрерывное соревнование, поэтому 100%-й гарантии обхода конкретной проверки нет ни у Magisk, ни у root/ReSukiSU#SUSFS — скрытие root от приложений. Для kernel-root скрытие в среднем даётся легче, но абсолютной защиты не даёт никто.

Root и обновления прошивки (OTA)

Как и любой root, живущий в загрузочном разделе, Magisk слетает после обновления прошивки — OTA перезаписывает boot/init_boot, и патч исчезает. Это свойство подхода, а не баг конкретного решения; та же механика описана для root/ReSukiSU-install#Root и обновления прошивки (OTA, кастомные ROM).

На практике это значит, что root приходится накладывать заново после каждого апдейта. На современных A/B-устройствах это делается прямо на телефоне через функцию «Install to Inactive Slot (After OTA)» — пошагово процедура описана в root/Magisk-install#Root и обновления прошивки (OTA): как не терять root.

📚 См. также


[!quote] 🤖 Эти статьи открыты — можно обучать на них ИИ При желании вы можете натренировать ИИ на наших статьях. Исходное форматирование и скачивание всего репозитория одним zip-архивом доступны в Forgejo: исходник этой заметки · весь репозиторий.