Skip to content

Latest commit

 

History

History
49 lines (29 loc) · 4.27 KB

faq_ru.md

File metadata and controls

49 lines (29 loc) · 4.27 KB

ЧАВО

Что такое APatch?

APatch - это root решение, похожее на Magisk или KernelSU, которое объединяет лучшее из обоих. Оно сочетает удобный и простой метод установки Magisk через boot.img с мощными возможностями исправления ядра KernelSU.

В чем разница между APatch и Magisk?

  • Magisk изменяет систему инициализации с помощью патча на RAM-диске вашего загрузочного образа, в то время как APatch вносит изменения непосредственно в ядро.

APatch против KernelSU

  • Для KernelSU требуется исходный код ядра вашего устройства, который не всегда предоставляется OEM-производителем. APatch работает напрямую с вашим исходным boot.img.

APatch против Magisk, KernelSU

  • APatch позволяет при необходимости не изменять SELinux. Он также позволяет вам рутировать поток приложения, не создавая новый, поэтому libsu и IPC не требуются.
  • Kernel Patch Module предоставляется.

Что такое Kernel Patch Module?

Некоторый код выполняется в пространстве ядра, аналогично загружаемым модулям ядра (Loadable Kernel Modules, LKM).

Кроме того, KPM предоставляет возможность выполнять inline-hook, syscall-table-hook в пространстве ядра.

Для получения дополнительной информации смотрите Как написать KPM

Связь между APatch и KernelPatch

APatch основан на KernelPatch, унаследовал все его возможности и был расширен.

Вы можете установить только KernelPatch, но это не позволит вам использовать модули Magisk, а чтобы использовать управление суперпользователем, вам необходимо установить AndroidPatch, а затем удалить его.

Узнать больше о KernelPatch

Что такое SuperKey?

KernelPatch добавляет новый системный вызов (syscall) для предоставления всех возможностей приложениям и программам в пользовательском пространстве. Этот системный вызов называется SuperCall. Когда приложение/программа пытается вызвать SuperCall, ему необходимо предоставить учетные данные для доступа, называемые SuperKey. SuperCall может быть успешно вызван только в том случае, если SuperKey правильный, а в противном случае вызывающий объект останется незатронутым.

Что насчет SELinux?

  • KernelPatch не изменяет контекст SELinux и обходит SELinux с помощью перехвата. Это позволяет вам рутировать поток Android в контексте приложения без необходимости использовать libsu для запуска нового процесса и последующего выполнения IPC. Это очень удобно.
  • Кроме того, APatch напрямую использует magiskpolicy для обеспечения дополнительной поддержки SELinux.
    Однако, именно это может быть распознано как Magisk. Любой желающий может попробовать обойти это, проблема уже достаточно ясна.