很早之前就听说过修改内核源码过反调试检测,本来是想着小米内核是开源的,直接从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
注意,记得先备份哦,防止出错
3 条评论
哇
厉害