跳转到内容

KernelSU

维基百科,自由的百科全书
KernelSU
原作者维术(tiann)
開發者维术及其他开发者
首次发布2022-12-09
当前版本1.0.5
源代码库https://github.com/tiann/KernelSU/
编程语言C++JavaKotlinCRust
操作系统Android
平台x86_64x86armarm64
语言多语言
类型自由软件免费软件
许可协议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]


参考文献

[编辑]
  1. ^ 什么是 KernelSU? | KernelSU. 
  2. ^ KernelSU 模块与 Magisk 的差异 | KernelSU. 
  3. ^ 如何构建 KernelSU? | KernelSU. 
  4. ^ 安装 | KernelSU. 
  5. ^ 安装 | KernelSU.