首页
社区
课程
招聘
[原创]VS2019驱动开发以及Windbg+Vmware15双机调试环境配置
发表于: 2019-8-21 18:35 49714

[原创]VS2019驱动开发以及Windbg+Vmware15双机调试环境配置

2019-8-21 18:35
49714

刚刚开始学Windows驱动开发,被环境配置折磨了一整天,网上的好多教程不是太旧就是含糊不清,对我等新手实在是太不友好了,在这里稍微记录一下我的搭建过程,都是踩过坑的,不保证是最高效的,但绝对是能用的,希望能有所帮助。

下载地址:VS2019社区版

在安装VS2019时,工作负载选项卡选择使用c++的桌面开发(勾选Windows 10 SDK 10.0.18362.0)通用windows平台开发

图片描述

其次还要勾选单个组件 - > MSVC v142 - VS 2019 C + x64 / x86 Spectre 缓解库(v14.22)才能成功编译项目。

下载地址:WDK

一直按照默认设置安装就好了,会给VS2019安一个拓展。

编译程序之前还需要设置项目属性:

右键-属性-C/C++

将 警告等级 设置为 等级3(/W3)

将 警告视为错误 改为 否(/WX-)

代码生成 -安全检查 改为 禁用安全检查(/GS-)

右键-属性-链接器

右键-属性-Driver Settings

将 Target OS Version 改为 Windows 7

将 Target Platform 改为 Desktop

在VS中新创建一个KMDF项目,项目属性按照上面说的设置,创建一个源文件first.c,实例代码如下:

然后快捷键ctrl B就可以成功生成.sys文件了。

图片描述

下载地址:vmware win7

常规的布置好虚拟机之后,打开虚拟机设置进行如下操作:

添加一个串行端口,具体配置如下如:

图片描述

在虚拟机内部,创建一个新的启动项,让win7以调试模式启动(不知道为什么用网上的纯命令行操作中间有两步会有参数错误,所以这里主要用图形界面来实现,亲测可用):

以管理员身份启动cmd,输入

DebugEntry为选项的名字,可以自己定义

之后打开msconfig,选择引导选项卡,找到我们刚刚创建的DebugEntry并点击高级选项,进行如下配置:

图片描述

现在重启之后就可以选择调试模式启动windows了。

下载地址:Windbg

安装之后在桌面创建一个快捷方式,设置为以管理员身份启动,然后右键-属性,在目标一栏的后面添加:

先启动Windbg,然后再以调试模式启动虚拟机,Windbg出现如下界面就说明成功了

图片描述

《Windows内核安全与驱动开发》

博客有我的联系方式,欢迎大家来玩,地址:https://www.0x2l.cn


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2020-8-12 20:22 被0x2l编辑 ,原因: 修改
收藏
免费 7
支持
分享
最新回复 (27)
雪    币: 18
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
感谢分享!
最后于 2019-10-9 07:12 被Sam.编辑 ,原因:
2019-8-27 08:45
0
雪    币: 741
活跃值: (1864)
能力值: ( LV3,RANK:35 )
在线值:
发帖
回帖
粉丝
3
是否考虑添加友链?

https://fanfanblog.cn
2019-8-27 08:50
0
雪    币: 244
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
nice
2020-1-9 21:11
0
雪    币: 4402
活跃值: (1366)
能力值: ( LV7,RANK:113 )
在线值:
发帖
回帖
粉丝
5
用pipe调试太卡了,还是换VirtualKD吧
2020-1-9 21:39
0
雪    币: 24
活跃值: (286)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
如果出现error MSB8040: Spectre-mitigated libraries are required for this project.可以通过解决方案-属性-C/C++-代码生成-Spectre缓解 禁用 解决
2020-3-22 08:54
0
雪    币: 51
活跃值: (607)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
7
求Linux下 VMware两个windows如何调试啊? 
2020-3-31 20:06
0
雪    币: 137
活跃值: (65)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
不对啊,提示:
严重性        代码        说明        项目        文件        行        禁止显示状态
错误        MSB8040        此项目需要缓解了 Spectre 漏洞的库。从 Visual Studio 安装程序(单个组件选项卡)为正在使用的任何工具集和体系结构安装它们。了解详细信息: https://aka.ms/Ofhn4c        KMDF Driver2        D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets        436        
2020-5-14 21:19
0
雪    币: 620
活跃值: (372)
能力值: (RANK:150 )
在线值:
发帖
回帖
粉丝
9
AlchemistS 求Linux下 VMware两个windows如何调试啊? [em_35]
rootkits.xyz 去这个网站看看?
2020-6-6 06:28
0
雪    币: 1914
活跃值: (72)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
AlchemistS 求Linux下 VMware两个windows如何调试啊? [em_35]
用网络连
2020-6-9 09:06
0
雪    币: 5
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
11
有木有大佬 能指导一下 vs2015 怎么 双机调试 ? qq = 344197289
2020-6-9 23:13
0
雪    币: 347
活跃值: (991)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
不考虑上个VirtualKD?
2020-6-10 00:02
0
雪    币: 433
活跃值: (1910)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
13
2019有个很不友好的bug:msvc142的文件要复制到msvc141里面去
2020-6-10 02:30
0
雪    币: 5
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
14

1

最后于 2020-6-10 09:45 被wx_たちばな Ukyou编辑 ,原因:
2020-6-10 09:25
0
雪    币: 5
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
15
#if DBG
       _asm int 3
#endif
这句话是啥意思,谁能解释一下?
2020-6-10 09:44
0
雪    币: 5
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
16
后缀名.cpp 不行  上面那句话删了就能通过
2020-6-10 09:50
0
雪    币: 7
活跃值: (4331)
能力值: ( LV9,RANK:270 )
在线值:
发帖
回帖
粉丝
17
EvilTobe 不考虑上个VirtualKD?
这篇是去年的了,现在我也用VirtualKD了,pipe实在是太慢了
2020-6-10 11:19
0
雪    币: 5
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
18
0x2l 这篇是去年的了,现在我也用VirtualKD了,pipe实在是太慢了
大佬能帮我看看嘛?
2020-6-10 12:09
0
雪    币: 5
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
19
VirtualKD 是什么意思啊?这个方法又不行了吗?我的天
2020-6-10 12:25
0
雪    币: 7
活跃值: (4331)
能力值: ( LV9,RANK:270 )
在线值:
发帖
回帖
粉丝
20
wx_たちばな Ukyou VirtualKD 是什么意思啊?这个方法又不行了吗?我的天
这个可以的,只要按步骤来肯定是能调试的。VirtualKD是另外的工具了,用不用都可以
2020-6-10 12:47
0
雪    币: 51
活跃值: (607)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
21
只想睡个好觉 用网络连
谢谢
2020-6-30 14:35
0
雪    币: 5
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
22
iamatig 不对啊,提示: 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 MSB8040 此项目需要缓解了 Spectre 漏洞的库。从 Visual Studio 安装程序(单个组件选项卡)为正在 ...
老弟解决没 我也和你一模一样的提示
2020-7-9 19:10
0
雪    币: 5
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
23
iamatig 不对啊,提示: 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 MSB8040 此项目需要缓解了 Spectre 漏洞的库。从 Visual Studio 安装程序(单个组件选项卡)为正在 ...
老弟解决没 我也和你一模一样的提示
2020-7-9 19:14
0
雪    币: 5
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
24
楼主 我发现我vs2019里 没有MSVC v142 - VS 2019 C + x64 / x86 Spectre 缓解库(v14.22)这个单个选项
2020-7-9 19:51
1
雪    币: 5
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
25
Railgun_ 如果出现error MSB8040: Spectre-mitigated libraries are required for this project.可以通过解决方案-属性-C/C++-代码生成- ...
没提示了 但是用启动加载器老是启动失败咋回事
2020-7-9 21:39
0
游客
登录 | 注册 方可回帖
返回
//