参考:
参考博客
安装SDK和WDK
我这里用的是VS2019。环境其实是早就配好了,只不过写一下而已。后来VS2019不能被visual studio installer识别,又要装新东西,然后官网下了个vs下载器只有VS2022,想着要不干脆更新了吧,于是便重新配置了一遍,由于C盘紧缺,就把VS2019给完全卸载了。谁想,VS2022不再支持win10的WDK(那个扩展装不了),而2022的WDK驱动根本没有x86版本的,搞来搞去。好吧,又重新装了VS2019。
友情提示:版本不是越新越好的 安装器里把这个勾上
WDK安装链接 我用的好像是2004版的,下完居然还是10.19041.1,有点神奇
最后,VS20xx不重要,装哪个都不重要,重要的是记得把SDK和WDK版本对应上
装完WDK后提示是否安装VS2019扩展程序,点击安装即可 没弹窗也没关系,动手找一下
双击这个文件,安装即可(如果你没有用默认安装位置的话,那就自己想想放哪了吧)
创建项目
新建一个 Kernel Mode Driver, empty (KMDF) 的项目 名字随便起起就行
右键==>属性,那个菜单太长了,不截图了 新建一个xxx.c文件,千万不要xxx.cpp
如果报错说:此项目需要缓解了 Spectre 漏洞的库 那么请勾选
如果你非要折腾,那么请移步vs安装器里找一个对应版本的缓解库装上,反正我装了好几个没对上版本,懒得弄了
编写程序
#include <ntddk.h>
void DriverUnload(PDRIVER_OBJECT object) {
DbgPrint("hello world: driver is unloading...");
}
NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING reg_path) {
DbgPrint("hello world");
driver->DriverUnload = DriverUnload;
return STATUS_SUCCESS;
}
编译,然后拉到winxp里试试 dbgView我也勾选了监视核心,但是时灵时不灵的,就不献丑了 反正不灵的时候windbg也会打印的 我勾选了监视核心,但是俩都没打印,真实怪异
其他工具
有个双机调试工具叫做VirtualKD-Reduxz,比windbg裸连快很多,github上就有,直接搜就完事了 安装教程和使用教程也有的,傻瓜式操作,就不细说了 如果配置的时候出了问题,可以参考一下我之前写的 Virtual KD 出现 Still cannot find RPC dispatcher table
好久没更新了,没人看,没动力了。就写给自己看吧
|