Windows内核编程
驱动
本课程涉及的驱动,是利用驱动程序的高级权限,去做一些用户层不能做的工作,严格来说,这些写出来的东西不能算是驱动,因为它不会驱动任何设备
权限
内核程序是运行在R0级的,因此比应用层上的R3程序有着更高的权限,由此内核编程的应用,往往给我们的软件带来更强的功能。所以同理,我们的攻击程序也可以被搬运到R0,来更加隐蔽有效的监控系统
VS2015
我们在进行驱动开发的时候,不需要多么高级的IDE,高级的IDE反倒会不支持一些配置或者因为更新的原因不稳定,这里我们选择VS2015作为我们的IDE就可以了(现在是2024年),社区版即可
安装对应版本的WDK,是什么SDK就安装什么版本WDK
这里还有一个问题,如果是之前在高版本的VS上面编译项目,直接一过来的话,需要重新设置目标平台工具集
双机调试配置(win7)
首先,配置串口,我们的虚拟机一般都是在设置的时候自带打印机的,为了添加串口,我们就要把它给去掉
然后给我们的虚拟机加上串口(我这里就不关机了,实际上不应该是灰色的,是可以修改的),管道名,我这里也是随便起了一个名字,然后下面的设置和我一样
管理员权限打开cmd
输入命令bcdedit,一般是一个管理器一个加载器
bcdedit /copy {current} /d “Windwos7”
然后输入上述命令,创建一个新的启动项,下面是创建成功的样子
设置新启动项
bcdedit /debug ON
bcdedit /bootdebug ON
设置超时时间
bcdedit /timeout 15
然后重启电脑
在windbg里面填上刚刚 的串口名
ok,环境安装完毕