酷安APP 发现科技新生活

小果叮_

2024-04-22 魅族20 PRO

#APatch# #KernelSU# #Magisk模块#
KernelSu、APatch共存实现KSU管理root、系统模块,APatch加载内核模块教程。
使用KSU和APatch的小伙伴们会不会纠结一个问题,KSU这个root工具稳定性更好但是无法加载内核模块而APatch具有加载内核模块的功能却存在一些小bug,我们能否将两个工具有点结合呢?

好了,废话不多说下面进入教程。

首先讲下教程原理,机油们尝试共存两个工具时应该会发现,当同时刷入AP修补后的boot及KSU修补过的init_boot后,系统模块无法正常工作、内核模块正常工作,这是由于AP管理器安装包内的kmping-andriod会加载面具模块导致和KSU冲突,模块无法正常工作,此时我们只需要将AP管理器内的kmping-andriod替换为kmping-linux即可,kmping-linux不会加载面具模块,也就不会和ksu冲突。

下面以KSU和AP共存,KSU管理root及模块、AP加载内核模块re_kernel_1.1.0为例(该模块可以实现在低版本内核上实现binder功能)。首先下载好自己的系统的boot镜像、需要在ap加载的内核模块re_kernel_1.1.0、kpimg-linux、MT管理器、最新稳定版/CI版AP管理器,这是本次教程所需的所有文件。

首先在MT管理器点击已经下载好的AP管理器,点查看(如图1),点击查看之后在assets下可看到kpimg,把右侧已经下载好的kpimg-linux重命名为kpimg并长按弹出的框选择添加,它就会把我们刚重命名的kpimg添加到左侧的AP管理器安装包中,注意选择自动签名(如图2)否则可能会安装不了,点击确定之后直接找到我们刚刚重新签名好的AP安装包去安装,像我们正常使用AP一样去修补boot镜像并嵌入内核模块(如图3)嵌入并修补之后刷入我们刚刚得到的boot镜像,重启之后就可以实现KSU、AP共存,KSU管理root、系统模块功能,AP管理加载内核模块且不发生冲突。

另:根据评论区反馈可以面具和AP共存,实现面具管理root和系统模块AP加载内核模块,用不了ksu(非gki2.0)用户的另一福音?具体方法为:用apatch(改过kmp)修补magisk修补过的Boot然后再用kernelflash刷入apatch改过的Boot

最后放两张我的截图,目前已知问题:如果你需要更新AP管理器那么你需要重新替换kpimg打包安装,AP管理器超级用户功能闪退、无系统模块功能(本来咱们也不用AP去管理这两个功能是吧),如果你还有其他管理器崩溃问题,可以尝试不在本地保存秘钥这个功能或者直接卸载AP管理器再或者使用命令行自己修补并嵌入内核模块,放心这些操作不会影响你使用内核模块?

感谢:@lzcazr ,本教程使用的内核模块为他在freezer作者开发的Kernel Modifier基础上制作的kpm模块,本教程使用的方法由他传授受虐滑稽

初次写教程,可能有的地方说的不对,有的地方说的不够详细,请指正。