很早之前就听说过修改内核源码过反调试检测,本来是想着小米内核是开源的,直接从github下拉对应的版本编译出来,但是想到编译也是个麻烦事,那我逆向你的内核总该可以吧。

提取内核

我手机已经是Root过了的,可以直接提取boot.img,由于我手机是小米12属于 A/B分区,于是我先运行执行 getprop ro.boot.slot_suffix

运行得到我的boot是在_b分区,所以,我们直接提取_b分区即可 dd if=/dev/block/by-name/boot_b of=/sdcard/boot_b.img 提取后,接下来,我们进行解包

解包内核

现在百度到的解包基本上都已经过时或者不可用了,但是没关系,我们可以借助 Magisk 的 magiskboot 来帮忙,手机上已经安装了 Magisk 的可以直接在 /data/adb/magisk 目录下找到 magiskboot 我们直接执行 /data/adb/magisk/magiskboot unpack /sdcard/boot_b.img 就可以把 kernel 文件解包出来了.

修改

直接用 ida 打开 kernel 文件,shift+f12 搜索 TracerPid

双击进去查找交叉引用 (快捷键 X), 点进去就看到了代码

然后把 MOV X2, X22 修改成 MOV X2, #0 hex视图 右键编辑,最后保存即可

重打包

/data/adb/magisk/magiskboot repack /sdcard/boot_b.img

刷入新的 boot.img

adb reboot fastboot
fastboot flash boot boot.img

注意,记得先备份哦,防止出错

最后修改:2022 年 12 月 31 日
如果觉得我的文章对你有用,请随意赞赏