终于过了保护模式,开始进入驱动篇啦!
学一个新的知识,最重要的是啥?当然是环境的搭建啦~
这里首先介绍一下环境的搭建。
这里要提前说一下,为了防止出现各种问题(因为我出过各种乱七八糟的问题),我建议把之前的SDK、WDK、VS全都卸载,然后将WDK的安装目录文件给删除,在清理一下电脑,这样就不会有任何问题。
环境搭建
编译器
这里编译器选择VS2019,为什么选择VS2019呢?因为VS2022不支持32位驱动开发,VS2019及其以下支持,而VS2019也是比较稳定的,因此选择该版本。
SDK
不要问SDK是什么,跟着安装就行。如果想知道是啥,请自行百度!
安装Windows10 SDK 10.0.19041.0版本
WDK
选择Windows10 2004版本,该版本与上述SDK版本相吻合。
这里安装过程就不一一展示了。
当安装好了之后,我们启动我们的VS2019,选择Driver,创建一个空项目
配置
创建空项目之后,我们需要创建一个我们自己的驱动程序,注意,这里创建的是.c
文件:
#include <ntddk.h>
VOID DriverUnload(PDRIVER_OBJECT driver)
{
DbgPrint("内核程序停止运行n");
}
NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING reg_path)
{
DbgPrint("欢迎使用驱动!n");
DbgPrint("%x %wZrn", driver, reg_path);
driver->DriverUnload = DriverUnload;
return STATUS_SUCCESS;
}
这个时候,编译还是会报错,我们需要修改一些配置:
Spectre缓解库错误
两种方式,这里只介绍一种解决方式:
重新打开vs 安装程序:
找到如上图,安装即可解决。
Sign Mode错误
这里环境基本搭建完毕!
调试配置
SRV*E:xxxcodeSymbolsXP*http://msdl.microsoft.com/download/symbols
E:xxxcodetestDriverTestMyDriver1Debug //这个地方是我们生成的驱动文件位置
这样配置之后,重启,通过INT 3指令,就能通过windbg调试内核程序了。
当然还有一种直接与vs建立调试的方式,但是因为我们学习机是xp,我试了一下,不支持。如果是win7或者win10,就可以通过与vs直接建立调试,来调试内核。
原文始发于微信公众号(loochSec):驱动-环境配置
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论