KernelSU
外观
![]() |
此條目過於依赖第一手来源。 (2025年7月19日) |
![]() | |
原作者 | 维术(tiann) |
---|---|
開發者 | 维术及其他开发者 |
首次发布 | 2022-12-09 |
当前版本 | 1.0.5 |
源代码库 | https://github.com/tiann/KernelSU/ |
编程语言 | C++、Java、Kotlin、C、Rust |
操作系统 | Android |
平台 | x86_64、x86、arm、arm64 |
语言 | 多语言 |
类型 | 自由软件、免费软件 |
许可协议 | GPL 3.0 |
网站 | kernelsu.org |
KernelSU是一套适用于Android的开源工具套件,其使用类似Magisk,提供Root权限与Magisk模块支持。但与Magisk不同,前者运行在用户空间,更容易被检测;而KernelSU运行在内核空间,检测难度更大。
KernelSU 的主要特点是它是基于内核的。KernelSU 运行在内核空间,所以它可以提供以前从未有过的内核接口。例如在内核模式下为任何进程添加硬件断点,在任何进程的物理内存中访问,而无人知晓,在内核空间拦截任何系统调用等。[1]
KernelSU 还提供了一个基于 overlayfs 的模块系统,兼容社区大部分Magisk模块,但部分模块可能需要做出兼容性更改[2],其次,KernelSU不提供Zygisk支持,需要用户自行刷入社区提供的Zygisk解决方案(如Zygisk-Next,NeoZygisk等)。
尽管KernelSU相比Magisk有诸多优势,但它的安装难度显著高于Magisk。需要确保你的内核兼容通用内核映像 (GKI),其次你需要修补你的内核源代码并且重新编译以加入KernelSU的内核模块[3],而通常手机厂商并不提供可以编译并成功启动的内核源码。通常有两种解决方案:
1.直接刷入由KernelSU提供的通用内核,优点是保留了KernelSU的难以探测,但部分厂商会对内核进行修改,在刷入后可能造成续航缩短、部分功能不可用甚至是无法开机[4]。
2.在KernelSU 1.0.0后,KernelSU提供LKM注入方式,通过可加载内核模块将KernelSU的模块直接加载到系统中,优点是可以直接利用原厂内核,兼容性更高,但由于这一过程需要对ramdisk进行修补,使得KernelSU更容易被检测到[5]。