文章预览
最近在讲解Linux内核kernel patch的实现原理, 其中不乏优秀的开源项目和内核大神, APatch就是其中之一。 APatch借鉴了magisk patch init和selinux的方式在内核层实现了hook(注意b跳转相关hook, 非inlinehook). 思维巧妙有较高的学习意义。 但是在上手探究原理的过程中, 如果使用真机的方式, 简单修改就会卡机, 需要重刷等。 好的环境是好的开始的前提, 因为我们是探究其原理, 简单过一下项目其实现方式与平台无关, 因此可以通过内核模拟的方式, 使用GDB探究其中的每一步实现, 完美规避。 一 内核Root的实现方式: 1.直接编译对应源码 2.针对内核打patch 3.漏洞利用 二 模拟环境搭建 1.系统环境配置【必备】 强烈建议使用Ubuntu22.04(http://mirror.nju.edu.cn/ubuntu-releases/22.04.4/ubuntu-22.04.4-desktop-amd64.iso) 2.安装Qemu sudo apt update sudo apt-get install qemu qemu-system qemu-user root@happy /s/qemu_linux# q
………………………………