文件名称:driver
-
所属分类:
- 标签属性:
- 上传时间:2014-03-05
-
文件大小:29.95kb
-
已下载:0次
-
提 供 者:
-
相关连接:无下载说明:别用迅雷下载,失败请重下,重下不扣分!
介绍说明--下载内容来自于网络,使用问题请自行百度
1:将内核文件映射到我内核空间去;
2:path KiFastCallEntry重定向
一:加载内核
1:关于加载
我代码里用了两种方法,一种被我注释了的:
a:使用ZwCreateSection + ZwMapVieOfSection 结合 SEC_IMAGE 标志来加载,此时加载的地址必定是位于user-mode空间,可以简单的用MDL锁定,然后映射这些页面到kernel-mode空间,也可以直接ExAllocatePool 然后 copy加载的镜像
b : 直接ReadFile啦,对PE格式了解点点,很简单的,不多说,看代码吧
2:关于修正镜像
1:重定位
这个是必须的,但是要注意,必须以原先系统的内核为基址重定位,因为你想自己初始化一些东西如对象头,调度链之类的已经不可能了,你必须让新内核的数据指向老内核
2:修正SDT
这个不需要多说,算算RVA,四则运算一做就好啦-1: to map the kernel file to my kernel space to 2: path KiFastCallEntry redirection
2:path KiFastCallEntry重定向
一:加载内核
1:关于加载
我代码里用了两种方法,一种被我注释了的:
a:使用ZwCreateSection + ZwMapVieOfSection 结合 SEC_IMAGE 标志来加载,此时加载的地址必定是位于user-mode空间,可以简单的用MDL锁定,然后映射这些页面到kernel-mode空间,也可以直接ExAllocatePool 然后 copy加载的镜像
b : 直接ReadFile啦,对PE格式了解点点,很简单的,不多说,看代码吧
2:关于修正镜像
1:重定位
这个是必须的,但是要注意,必须以原先系统的内核为基址重定位,因为你想自己初始化一些东西如对象头,调度链之类的已经不可能了,你必须让新内核的数据指向老内核
2:修正SDT
这个不需要多说,算算RVA,四则运算一做就好啦-1: to map the kernel file to my kernel space to 2: path KiFastCallEntry redirection
(系统自动生成,下载前可以参看下载内容)
下载文件列表
src/CommonFunc.c
src/CommonFunc.h
src/DrvEntry.c
src/KrnlLdr.c
src/KrnlLdr.h
src/makefile
src/ntimage.h
src/sources
src/Verify.c
src/Verify.h
src
src/CommonFunc.h
src/DrvEntry.c
src/KrnlLdr.c
src/KrnlLdr.h
src/makefile
src/ntimage.h
src/sources
src/Verify.c
src/Verify.h
src
本网站为编程资源及源代码搜集、介绍的搜索网站,版权归原作者所有! 粤ICP备11031372号
1999-2046 搜珍网 All Rights Reserved.