KernelSU
外观
此条目需要补充更多来源。 (2025年8月3日) |
| 原作者 | 维术(tiann) |
|---|---|
| 开发者 | 维术及其他开发者 |
| 首次发布 | 2022年12月9日 |
| 编程语言 | C++、Java、Kotlin、C、Rust |
| 操作系统 | Android |
| 平台 | x86_64、x86、arm、arm64 |
| 语言 | 多语言 |
| 类型 | 自由软件、免费软件 |
| 许可协议 | GPL 3.0 |
KernelSU,有时简称ksu,是一个Android上的内核级root方案。[1][2][3]
特性
[编辑]KernelSU运行在内核空间,有以下优点:
- 和运行在用户空间的Magisk相比,检测难度更大。
- 它可以提供以前从未有过的内核接口。例如在内核模式下为任何进程添加硬件断点,在任何进程的物理内存中访问,在内核空间拦截任何系统调用等。
- 提供了 metamodule 系统,这是一个可插拔的模块管理架构。与将挂载逻辑内置到核心的传统 root 方案不同,KernelSU 将此功能委托给 metamodule。这允许您安装 meta-overlayfs 等 metamodule,以提供对
/system分区和其他分区的无系统修改。[4]
KernelSU 不提供内置的模块挂载逻辑支持,需要用户自行刷入社区提供的 metamodule 解决方案(如meta-overlayfs)才可实现对 /system 分区和其他分区的无系统修改。
KernelSU 也不提供Zygisk支持,需要用户自行刷入社区提供的 Zygisk 解决方案(如ZygiskNext,NeoZygisk等)。
安装
[编辑]尽管KernelSU相比Magisk有诸多优势,但它的安装难度显著高于Magisk。
GKI2.0内核
[编辑]GKI模式
[编辑]这种方式在 KernelSU 3.0.0 后已被弃用[5]
直接刷入由KernelSU提供的通用内核,优点是保留了KernelSU的难以探测的特性,但部分厂商会对内核进行修改,在刷入后可能造成续航缩短、部分功能不可用甚至是无法开机。
LKM模式
[编辑]在KernelSU 1.0.0后,KernelSU提供LKM注入方式,通过可加载内核模块将KernelSU的模块直接加载到系统中,优点是可以直接利用原厂内核,兼容性更高,但这一过程需要对ramdisk进行修补,使得KernelSU更容易被检测到。
非GKI2.0内核
[编辑]由于非GKI内核的碎片化极其严重,因此通常没有统一的方法来编译它。在这种情况下,需要将KernelSU集成到内核源码中并编译内核。如果内核不开源,无法使用此方法。此方法最低支持到4.14版本的内核,更低的版本则需要手动移植。
参考文献
[编辑]- ^ 为什么KernelSU是未来root的最终解决方案?. 知乎. 2023-01-02.
- ^ Zachary Wander. Kernel Assisted Superuser (KernelSU) - The Final Frontier for SafetyNet and an Essential Developer Tool. 2018-12-10 [2024-05-19] (英语).
- ^ kernel-assisted-superuser - Kernel assisted means of gaining a root shell for Android. [2024-05-19].
- ^ 什么是 KernelSU? | KernelSU. kernelsu.org. [2025-12-03].
- ^ tiann. manager: Add GKI mode WarningCard · tiann/KernelSU@88c0d23. GitHub. [2025-12-03] (英语).