内核重载后指定某个程序使用你重载的内核,可以绕过原有内核上面的所有hook。
代码里用了两种方法,一种被我注释了的:
a:使用ZwCreateSection + ZwMapVieOfSection 结合 SEC_IMAGE 标志来加载,此时加载的地址必定是位于user-mode空间,可以简单的用MDL锁定,然后映射这些页面到kernel-mode空间,也可以直接ExAllocatePool 然后 copy加载的镜像
b : 直接ReadFile啦,对PE格式了解点点,很简单的,不多说,看代码吧。