查看原文
其他

KernelSU:即将支持模块功能!

维术 虚拟框架 2023-01-02

前段时间我 发布了 KernelSU,这是一个基于内核的 root 解决方案;在刚发布的时候,它的功能其实非常原始,只能勉强把自己的 uid 设置为 root,SELinux 还有比较大的缺陷,seccomp 也不太正常,甚至连直接调用  su 都不支持。

不过,经过一段时间的迭代,KernelSU 的 root 功能算是比较完整了:

  1. 支持了 su 兼容模式;不再需要通过特制的 syscall 或者 client 来获取 root 权限;直接使用 su 命令即可。

  2. 支持动态更改 SELinux 规则;与 magiskpolicy 和 sepolicy 不同的是,SELinux 规则的更改是在内核中直接修改 sepolicy 相关数据结构完成的;可以随时、随地动态地 patch 规则,不受 selinuxfs 的限制。


但是,仅有 root 功能可玩性其实非常有限,只有支持了模块,让第三方可以拓展 KernelSU 才能丰富起来。经过一段时间的调研,我选择了使用 overlayfs 来实现对 /system 分区的修改;虽然 overlayfs 没有办法直接 overlay /data 和 tmpfs,使得这东西用起来非常别扭,我现在的实现代码也很蹩脚,但是,它工作:

还有一个比较方便的地方在于,overlayfs 的机制可以让 /system 变成 writable 的,可以直接在 /system 放文件,不需要用 systemless 的方式写模块去模拟,这在某些情况下还是比较方便的。

需要说明的是,这些功能的完成离不开 KernelSU 开发者群各位小伙伴的交流和讨论,这里必须谢谢他们的支持!

正如视频所说,目前还有非常非常非常多的 bug,所以我得继续 coding 去了!!

最后,祝大家新年快乐!晚安~

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存