服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

KernelSU: 支持模块了!

日期: 来源:虚拟框架收集编辑:维术

大约一个月前,我告诉大家 KernelSU 即将支持模块功能,然而这么久过去了好像一点动静也没有...

主要是最近这段时间有点私事,实在是忙不过来;但好事多磨,该有的也一定会有。所以今天我来告诉大家,KernelSU 已经支持模块了

KernelSU 的模块系统与 Magisk 尽量保持了兼容,模块的格式也是完全一样的,因此正常情况下,如果某个模块不依赖 Magisk 的内部实现,那么它应该可以在 KernelSU 上工作。

Magisk 从诞生到到现在已经七年了,在这么长的时间里,它积累了非常丰富的功能,为了与其保持兼容,那基本上都要提供这些功能;好在我们站在巨人的肩膀上,很多功能不需要从头开始写,这节省了不少工作量。Magisk 的功能主要分为以下几部分:

  1. MagiskSU:提供 root 访问和授权;这一点 KernelSU 在内核层面直接修改进程的  credentials 实现。

  2. Systemless:支持对 /system 分区的修改,模块功能的基础;Magisk 使用的是 bind mount,KernelSU 使用 overlayfs;得益于 overlayfs,其实现非常简单(不过还有很多 bug...

  3. Sepolicy:支持对 SELinux 策略进行修改;Magisk 借助 libsepol 和内核的 selinuxfs 接口完成,而 KernelSU 由于工作在内核,很自然地选择了在内核空间实现;通过直接修改运行在内核中的 SELinux 内存数据结构,直接实现了 sepolicy 的修改。

  4. resetprop:支持修改系统属性;这一块相对比较独立,而且完全是用户态的工具;因此 KernelSU 直接把 Magisk 的 resetprop 拿过来用了。

  5. post-fs-data 和 service 脚本:Magisk 通过直接修改 rootfs 中的 init.rc 来注入 init 事件;而 KernelSU 在内核中拦截了 init 进程对 rc 文件的读取,动态修改了返回的内容。

  6. Zygisk:提供对 zygote 进程的注入功能;这一块 KernelSU 没有内建支持,这个功能完全可以通过模块实现,因此 KernelSU 将来也不会提供支持。现在已经有了 nu11ptr 写的 ZygiskOnKernelSU,可以作为模块在 KernelSU 中运行以支持 Zygisk 模块。

  7. Magiskboot:提供对 Android boot image 的修改;这一块 Magisk 已经非常成熟和稳定了,完全没有必要自己造个轮子;如果以后闲的没事干,可能会用 Rust 把它重写一遍弄得玩 :)


截止现在,模块所依赖的 Systemless, post-fs-data.sh, service.sh, sepolicy.rule, resetprop 都已经支持了;虽然目前还存在很多 BUG,但理论上 Magisk 的模块可以实现的功能,在 KernelSU 也可以实现了。欢迎善于折腾的小伙伴前来尝鲜体验!

需要说明的是,KernelSU 诞生才两个月,即使已经有模块功能,但依然不够稳定,所以你遇到任何问题都是符合预期的;因此在使用之前,请注意备份好数据;如果遇到问题,请发送日志给我们;如果有能力,欢迎来帮助我们解决问题。

想体验的童鞋,可以阅读原文了解更多。

最后,必须感谢所有为 KernelSU 贡献代码的小伙伴们,你们是最棒的!

大家晚安!

相关阅读

  • KernelSU 里面的救砖机制

  • KernelSU 里面的救砖机制最近经常有小伙伴问我,自己在 KernelSU 里面刷模块变砖了应该怎么办?其实这是个比较常见的问题,解决它的方法也有很多,考虑到不是所有人都知道,这里单独
  • 【会员邀请】成为DHR课堂企业会员

  • 关于DHR课堂「DHR课堂」由国内领先的人力资源行业组织DHR公会(Digital HR Association)创办并运营,致力于通过优质的HR在线学习内容,提升HR专业技能,打造HR数字化思维。 「DHR课
  • 为什么你还要用付费的PDF 工具,这个不香吗?

  • 咱们上期说到上班,啊不对,说到 Word 的神奇插件,那可真的是谁用谁爽谁知道。但是众所周知,很多情况下只有 Word 还是不够的,通常我们还经常会需要另一种文件,那就是 PDF。普通的 W
  • 2023 年,不想用 360 浏览器,如何用 Flash?

  • 2023 年,如何玩 4399 的 Flash 小游戏?而且,我不想用某数字的浏览器,也不想用“特供版本”的 Flash,最好还能绕开繁琐的设置,一键使用。今天就来解决这个问题。01复活 Flash2020
  • 儿童便秘,除了用开塞露还能做什么?

  • 今天的内容来自丁香园儿科时间,喜欢的朋友可以关注起来。诊室看诊经常问孩子大便如何,很多家长都会抱怨孩子排便费劲,特别干燥、粗大,好几天才排一次,实在不行了只能用开塞露通便
  • 每日安全动态推送(2-27)

  • Tencent Security Xuanwu Lab Daily News• [Android] The code that wasn’t there: Reading memory on an Android device by accident:https://github.blog/2023-02-23-t
  • 这个视频下载器好全能,我好喜欢!

  • 现在的视频平台和内容千奇百怪,但是翻遍整个播放页面却很难找到「下载」按钮,还美其名曰是因为“版权保护”。当你好不容易找到视频下载链接之后想要下载,某盘非会员用户下载速
  • 爆款课程!eBPF 安全开发与攻防对抗

  • eBPF 全称 extended Berkeley Packet Filter,中文意思是扩展的伯克利包过滤器。一般来说,要向内核添加新功能,需要修改内核源代码或者编写内核模块来实现。而 eBPF 允许程序在

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • KernelSU: 支持模块了!

  • 大约一个月前,我告诉大家 KernelSU 即将支持模块功能,然而这么久过去了好像一点动静也没有...主要是最近这段时间有点私事,实在是忙不过来;但好事多磨,该有的也一定会有。所以今
  • Android 14,来了。

  • 今天,Google 发布了 Android 14 第一个开发者预览版;不出意外的话,今年九月份左右就会正式发布了。我刚刚把手头的 Pixel 6 更新了一下,感觉这 Android 14 貌似没有什么新功能;可
  • KernelSU 里面的救砖机制

  • KernelSU 里面的救砖机制最近经常有小伙伴问我,自己在 KernelSU 里面刷模块变砖了应该怎么办?其实这是个比较常见的问题,解决它的方法也有很多,考虑到不是所有人都知道,这里单独
  • 原创 140 多篇,是时候来篇总结了

  • 光阴似剪,日月如梭。不知不觉,从 17 年广工毕业到现在,已经毕业 5 年多了。从大四开始写博客,有原创 110 多篇, 也获得了 CSDN 博客专家称号和掘金优秀作者称号。image.png回想
  • ChatGpt,普通人如何做到年薪 50 万、100 万

  • 最近,ChatGpt 很火,身边的人都在讨论,会不会成为下一个风口,像前几年互联网一样,迎来井喷式的发展。在这里插入图片描述小徐我也是在关注,这几天体验了,发现 ChatGpt 还是挺智能的,