e6baa7fe5647d6fd4653feec7aa94ca95e36e0ed
SukiSU
简体中文 | English
基于 KernelSU 的安卓设备 root 解决方案
实验性!使用风险自负!
这是非官方分支,保留所有权利 @tiann
如何添加
在内核源码的根目录下执行以下命令:
使用 susfs-dev 分支(已集成susfs,带非GKI设备的支持)
curl -LSs "https://raw.githubusercontent.com/ShirkNeko/KernelSU/main/kernel/setup.sh" | bash -s susfs-dev
使用 main 分支(不再带非GKI设备的支持)
curl -LSs "https://raw.githubusercontent.com/ShirkNeko/KernelSU/main/kernel/setup.sh" | bash -s main
如何集成 susfs
- 直接使用 susfs-dev 分支,不需要再集成 susfs
钩子方法
- 此部分引用自 rsuntk 的钩子方法
- KPROBES 钩子:
- 此方法仅支持 GKI 2.0(5.10 - 6.x)内核,所有非 GKI 2.0 内核都必须使用手动钩子
- 用于可加载内核模块 (LKM)
- GKI 2.0 内核的默认钩子方法
- 需要
CONFIG_KPROBES=y
- 手动钩子:
- 对于 GKI 2.0(5.10 - 6.x)内核,需要在对应设备的 defconfig 文件中添加
CONFIG_KSU_MANUAL_HOOK=y并确保使用#ifdef CONFIG_KSU_MANUAL_HOOK而不是#ifdef CONFIG_KSU来保护 KernelSU 钩子 - 标准的 KernelSU 钩子:https://kernelsu.org/guide/how-to-integrate-for-non-gki.html#manually-modify-the-kernel-source
- backslashxx 的 syscall 手动钩子:https://github.com/backslashxx/KernelSU/issues/5
- 部分手动集成KPROBES的非 GKI 2.0 设备不需要手动 VFS 钩子
new_hook.patch补丁
- 对于 GKI 2.0(5.10 - 6.x)内核,需要在对应设备的 defconfig 文件中添加
更多链接
基于 SukiSU 和 susfs 编译的项目
使用方法
GKI
- 适用于如小米红米三星等的 GKI 2.0 的设备(不包含魔改内核的厂商如魅族、一加、真我和 oppo)
- 找到更多链接里的 GKI 构建的项目找到设备内核版本直接下载用TWRP或者内核刷写工具刷入带 AnyKernel3 后缀的压缩包即可
- 一般不带后缀的 .zip 压缩包是通用,gz 后缀的为天玑机型专用,lz4 后缀的为谷歌系机型专用,一般刷不带后缀的即可
一加
1.找到更多链接里的一加项目进行自行填写,然后云编译构建,最后刷入带 AnyKernel3 后缀的压缩包即可
注意事项:
- 内核版本只需要填写前两位即可,如 5.10,5.15,6.1,6.6
- 处理器代号请自行搜索,一般为全英文不带数字的代号
- 分支和配置文件请自行到一加内核开源地址进行填写
特点
- 基于内核的
su和 root 访问管理 - 基于 5ec1cff 的 Magic Mount 的模块系统
- App Profile:将 root 权限锁在笼子里
- 恢复对非 GKI 2.0 内核的支持(仅限susfs-dev和未进行susfs补丁的dev分支)
- 更多自定义功能
许可证
kernel目录下的文件是 GPL-2.0-only。- 除
kernel目录外,所有其他部分均为 GPL-3.0 或更高版本。
赞助名单
如何以上名单没有你的名称,我会及时更新,再次感谢大家的支持
贡献
- KernelSU:原始项目
- MKSU:使用的项目
- RKSU:使用该项目的 kernel 对非GKI设备重新进行支持
- susfs4ksu:使用的 susfs 文件系统
- kernel-assisted-superuser:KernelSU 的构想
- Magisk:强大的 root 工具
- genuine:APK v2 签名验证
- Diamorphine:一些 rootkit 技能
Languages
Kotlin
67.1%
C
20%
Rust
11.1%
Shell
0.9%
Makefile
0.4%
Other
0.4%