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] (英語).