KernelSU安卓客户端是一款手机上的系统软件,这是一款安卓内核级Root管理器,这款软件是基于内核运行的,还有诸多特色与功能需要大家自行研究与开发,同时如果手机变砖了,这款软件也是帮助你手机救砖的关键软件。
KernelSU 是 Android GKI 设备的 root 解决方案,它工作在内核模式,并直接在内核空间中为用户空间应用程序授予 root 权限。 KernelSU 还提供了一个基于 overlayfs 的模块系统,允许您加载自定义插件到系统中。 它还提供了一种修改 /system 分区中文件的机制。乐享网测试KernelSU相对于Magisk能更好的隐藏Root。
KernelSU 的主要特点是它是基于内核的。 KernelSU 运行在内核空间, 所以它可以提供我们以前从未有过的内核接口。 例如,我们可以在内核模式下为任何进程添加硬件断点;我们可以在任何进程的物理内存中访问,而无人知晓;我们可以在内核空间拦截任何系统调用; 等等。
KernelSU 还提供了一个基于 overlayfs 的模块系统,允许您加载自定义插件到系统中。它还提供了一种修改 /system 分区中文件的机制。
基于内核:KernelSU 运行在内核空间,对用户空间应用有更强的掌控。
白名单访问控制:只有被授权的 App 才可以访问 `su`,而其他 App 无法感知其存在。
受限制的 root 权限:KernelSU 可以自定义 `su` 的 uid, gid, groups, capabilities 和 SELinux 规则:把 root 权限关进笼子里。
模块系统 & 开源:KernelSU 支持通过 overlayfs 修改 /system,并且是 GPL-3 许可下的开源项目。
虽然 KernelSU 模块与 Magisk 模块有很多相似之处,但由于它们的实现机制完全不同,因此不可避免地会有一些差异;如果你希望你的模块能同时在 Magisk 与 KernelSU 中运行,那么你必须了解这些差异。
相同之处
模块文件格式: 都以 zip 的方式组织模块,并且模块的格式几乎相同
模块安装目录: 都在 /data/adb/modules
systemless: 都支持通过模块的形式以 systemless 修改 /system
post-fs-data.sh: 执行时机完全一致,语义也完全一致
service.sh: 执行时机完全一致,语义也完全一致
system.prop: 完全相同
sepolicy.rule: 完全相同
BusyBox:脚本都在 BusyBox 中以“独立模式”运行
不同之处
在了解不同之处之前,你需要知道如何区分你的模块是运行在 KernelSU 还是运行在 Magisk 之中;在所有你可以运行模块脚本的地方(customize.sh, post-fs-data.sh, service.sh),你都可以通过环境变量KSU 来区分,在 KernelSU 中,这个环境变量将被设置为 true。
以下是一些不同之处:
KernelSU 的模块不支持在 Recovery 中安装。
KernelSU 的模块没有内置的 Zygisk 支持(但你可以通过 ZygiskNext 来使用 Zygisk 模块)。
KernelSU 模块替换或者删除文件与 Magisk 完全不同。KernelSU 不支持 .replace 方式,相反,你需要通过 mknod filename c 0 0 创建同名文件夹来删除对应文件。
BusyBox 的目录不同;KernelSU 内置的 BusyBox 在 /data/adb/ksu/bin/busybox 而 Magisk 在 /data/adb/magisk/busybox;注意此为 KernelSU 内部行为,未来可能会更改!
KernelSU 不支持 .replace 文件;但 KernelSU 支持 REPLACE 和 REMOVE 变量。
KernelSU 新增了一种脚本 boot-completed.sh,以便在 Android 系统启动后运行某些任务。
KernelSU 新增了一种脚本 post-mount.sh,以便在 Overlayfs 挂载后运行某些任务。
在刷机的时候我们可能会遇到设备“变砖”的情况,理论上讲,如果你只是使用 fastboot 刷入 boot 分区或者安装不合适的模块导致设备无法启动,那么这都可以通过合适的操作恢复手机;本文档旨在提供一些急救方法让你可以在“变砖”中恢复。
刷入 boot 变砖
在 KernelSU 中,刷入 boot 变砖有如下可能:
你刷入了错误格式的 boot 镜像。比如你的手机 boot 格式是 gz 的,但你刷入了 lz4 格式的镜像,那么此时手机无法启动。
你的手机需要关闭 avb 验证才能正常启动(注意这通常意味着需要清除手机所有数据)。
你的 kernel 有某些 bug 或者你的 kernel 不适合你这个手机刷入。
无论哪种情况,你都可以通过刷入原厂 boot恢复;因此,在安装教程最开始,我们已经强烈建议大家,在刷机之前备份自己的原厂 boot!如果你没有备份,那么你可以通过其他跟你相同设备的童鞋或者官方固件包获取原厂 boot。
刷入模块变砖
刷入模块变砖可能是大家遇到更常见的情况,但是这里必须郑重告诉大家:请勿刷入来路不明的模块!!。因为模块其实是有 root 权限的,它完全可能导致你的设备发生不可逆的损坏!
普通模块变砖
如果大家刷入某些开源的或者被证明是安全的模块使得手机无法启动,那么这种情况在 KernelSU 中非常容易恢复,完全无需担心。KernelSU 内置了如下两种机制来救砖:
AB 更新
音量键救砖
AB 更新
KernelSU 的模块更新借鉴了 Android 系统 OTA 更新时的 AB 更新机制,如果你安装了新模块或者对已有模块有更新操作,不会直接操作当前使用的模块文件,而是会把所有模块构建成另外一个 update 镜像;系统重启之后,会使用这个 update 镜像尝试启动一次,如果 Android 系统成功启动,才会真正更新模块。
因此,最简单最常用的救砖方法就是:强制重启一次。如果你在刷某个模块之后系统无法启动,你可以长按电源键超过 10 秒,系统会自动重启;重启之后会回滚到更新模块之前的状态,之前更新的模块会被自动禁用。
音量键救砖
如果 AB 更新依然无法解决,你可以尝试使用安全模式。进入安全模式之后,所有的模块都会被禁用。
进入安全模式的方法有两种:
某些系统自带的安全模式;有些系统是长按音量下,有些系统(比如MIUI)可以在 Recovery 中开启安全模式。进入系统的安全模式后,KernelSU 也会进入安全模式,自动禁用模块。
KernelSU 内置的安全模式;操作方法:开机第一屏后,连续按音量下键超过三次。注意是按下-松开、按下-松开、按下-松开,不是按着不动。
进入安全模式以后,KernelSU 管理器的模块页面所有模块都被禁用,但你可以执行“卸载”操作,卸载可能会有问题的模块。
内置的安全模式是在内核里面实现的,因此不会出现按键事件被拦截导致捕获不到的情况。不过对于非 GKI 内核,可能需要手动集成代码,可以参考官网教程。
格机或其他病毒模块变砖
如果以上方法无法拯救你的设备,那么很有可能你装的模块有恶意操作或者通过其他方式损坏了你的设备,这种情况下,只有两个建议:
清除数据后刷入完整刷入官方系统。
咨询售后服务。
KernelSU是一款用于安卓设备的内核级别的权限管理工具。它主要为高级用户和开发者提供了一种在设备内核层面管理 Root 权限的方式,使得用户能够对安卓系统进行更深入的定制和控制。
Nova Video Player是一款功能强大的视频播放应用程序,旨在为用户提供便捷、流畅且丰富的视频播放体验,适用于各种视频格式的本地播放以及部分在线视频资源的浏览。
Nekogram猫报这是一款第三方的聊天软件,通过这款软件可以让某飞机平台拥有更丰富的功能,更是能让大家的聊天更多 加的安全,让大家享受到更优质的聊天感受。
Remodel AI是一款非常实用且功能丰富的家庭装修设计工具。汇聚了海量的装修设计方案,涵盖了各种风格、户型和装修预算。用户可以根据自己的喜好和需求,轻松浏览并筛选出最适合自己的设计方案。