首页
论坛
专栏
课程

[原创] [Windows驱动开发] 00_环境搭建

2019-5-14 18:40 1610

[原创] [Windows驱动开发] 00_环境搭建

2019-5-14 18:40
1610

环境搭建

2019-5-10, by khz

驱动一直没有系统的学习过,每次用到的时候总得折腾下安装环境,现在整理下,避免以后再各种查资料。

大纲

  • 安装VS2017 community
  • 安装WDK(10.0.17763.1)及WDK扩展插件
  • 编写HelloWorld项目
  • 安装VMWare
  • 安装VirtualKD

安装VS2017 community

网上太多教程,这里就不班门弄斧了。可以参考这篇文章:vs2017安装和使用教程(详细)

 

其中重要的选项如下面截图所示:

 

VS2017安装选项

 

需要注意的是:

  • VS的首页默认下载是VS2019了,需要选择2017的链接才可以。
  • SDK使用的是10.0.17763.0版本,这个得和WDK相同,否则会导致编译错误。
  • 如果程序需要支持XP系统,请勾选“对C++的Windows XP支持”选项!

安装WDK

官网下载WDK,截止到现在(2019-5-10),该页面就是最新的WDK(也就是《 Windows 10 版本 1809 的 WDK
》)。如果版本不一样,请到下载以前版本的 WDK页面下载。下载后,打开文件属性,再选择详细信息页面,可以看到该文件就是10.0.17763.1版本。

 

WDK版本信息

 

WDK安装很简单,依次按照下面的图进行即可:

 

WDK安装界面01

 

WDK安装界面02

 

WDK安装界面03

 

安装成功后记得安装WDK扩展插件,该文件为D:\Windows Kits\10\Vsix\WDK.vsix

 

WDK安装界面04

编写HelloWorld项目

  • 打开VS,新建WDM项目(这个分类到测试里面了,应该是微软的bug吧),如下图所示:

新建WDM项目

  • 新建main.c,添加代码如下:

main源码

  • 删除HelloWorld.inf

  • 设置各种配置选项:

项目配置01

 

项目配置02

 

项目配置03

 

项目配置04

  • 编译。

安装VMWare

VMWare安装也很简单,这里直接找了篇文章:最新超详细VMware虚拟机下载与安装,。

 

至于如何安装虚拟机系统,我实在太赖,直接找了个别人安装好的镜像:【VM虚拟机+吾爱成品vmdk】Win7 x64专业版,或者吾爱破解论坛【破解专用虚拟机2.0】盛大发布,和中毒还有格盘说NO!

安装VirtualKD

参考下面文章,很详细。

 

使用VirtualKD搭建双机调试环境

windbg设置:
- 环境变量:_NT_SYMBOL_PATH=SRV*c:\mysymbol* http://msdl.microsoft.com/download/symbols
- WinDbg菜单:File->Symbol File Path。“C:\MyCodesSymbols; SRV*C:\MyLocalSymbols*http://msdl.microsoft.com/download/symbols”
- WinDbg提供命令行参数-y设置Symbol File Path。
- WinDbg命令:.sympath .reload 
- 最后一种,WinDbg的帮助中没有提到,通过注册表设置:HKLM\SOFTWARE\Microsoft\Symbol Server Proxy\Web Directories\symbols下,设置SymbolPath,类型为REG_EXPAND_SZ。可以通过命令行直接添加:
reg add "HKLM\SOFTWARE\Microsoft\Symbol Server Proxy\Web Directories\symbols" /v SymbolPath /t REG_EXPAND_SZ /f /d c:\windows\symbols;SRV*d:\symbols*http://msdl.microsoft.com/download/symbols

结束语

本文只是对环境搭建的一个总结,将遇到的问题统计了一下,很多内容直接链接到了别的网页,希望能帮助大家快速搭建驱动开发环境。

广而告之

九分出品,欢迎吐槽。更多精彩,可以前往博客地址

参考文档



[推荐]看雪企服平台,提供安全分析、定制项目开发、APP等级保护、渗透测试等安全服务!

最后于 2019-5-15 19:57 被kinghzking编辑 ,原因:
上一主题 下一主题
最新回复 (18)
malokch 3 2019-5-14 19:06
2
0
很讨厌微软的工具链,推荐cmake+mingw(msys)。编辑器用vscode或者sublime。开发exe/dll/sys都很爽。
大只狼 2019-5-14 21:33
3
0
malokch 很讨厌微软的工具链,推荐cmake+mingw(msys)。编辑器用vscode或者sublime。开发exe/dll/sys都很爽。
我觉得挺爽啊,又好看,又好用,各种傻瓜操作。爽的一笔
大只狼 2019-5-14 21:33
4
0
建议体验vs2019
kinghzking 1 2019-5-14 22:33
5
0
工具能用就好,用的舒服就更好了。遇到问题能搞定,完事儿。
2019用了,体验不多,感觉差别不大。要不是很多开源库用了2017(主要是新的C++特性),我应该还在用2010
大C滑稽 2019-5-15 02:18
6
0
我想问下win10虚拟机vkd双机调试的时候windbg连不上咋回事win7就可以
niuzuoquan 2019-5-15 07:20
7
0
mark
xxRea 2019-5-15 16:43
8
0
mark
DlyWtF700 2019-5-15 17:46
9
0
WinDbg菜单:File->Symbol File Path。“C:\MyCodesSymbols; SRVC:\MyLocalSymbolshttp://msdl.microsoft.com/download/symbols”
SRVC:\MyLocalSymbols后少打了个 * 吧
刚好前段时间自己也配了一下这个环境。用vs2017直接连接远程电脑 《我用的vm虚拟机》调试驱动的环境 没搭建成功,有点懵逼
kinghzking 1 2019-5-15 19:58
10
0
DlyWtF700 WinDbg菜单:File->Symbol File Path。“C:\MyCodesSymbols; SRVC:\MyLocalSymbolshttp://msdl.microsoft.com ...
感谢指出错误,Markdown用的不熟,自动把*抹去了。
Crakme 2019-5-16 09:05
11
0
为啥你那DriverEntry方法上的注释会标红色波浪线
wx_听海看雪 2019-5-16 09:55
12
0
这个在虚拟机上测试,不用签名吗?我虽然在配置环境中把Driver Signing 关闭了,但是测试的时候,还是需要签名
petersonhz 2019-5-16 16:14
13
0
malokch 很讨厌微软的工具链,推荐cmake+mingw(msys)。编辑器用vscode或者sublime。开发exe/dll/sys都很爽。
mingw调试起来很麻烦?
malokch 3 2019-5-16 18:58
14
1
petersonhz mingw调试起来很麻烦?
不习惯就会觉得麻烦。小问题gdb可以搞定,实在不行cmake生成vs工程来调试也可以。
petersonhz 2019-5-16 19:24
15
0
malokch 不习惯就会觉得麻烦。小问题gdb可以搞定,实在不行cmake生成vs工程来调试也可以。
mingw开发的驱动稳定性要差一些?
malokch 3 2019-5-16 20:39
16
0
petersonhz mingw开发的驱动稳定性要差一些?
理论上比不上微软的工具链编译出来的。但我没遇到过。mingw构建有很复杂依赖关系的项目时,优势很明显,对项目的操控性非常强。不过也不是所有人都习惯gnu工具链,见仁见智吧。
惊电 5天前
17
0
难道现在只有我一个人用VC6.0 + WDK7.1.0么?
kinghzking 1 5天前
18
0
惊电 难道现在只有我一个人用VC6.0 + WDK7.1.0么?
原始社会好,小米加步枪,驱动开发,环境影响应该不大吧,用高版本VS主要是因为一些开源项目用的高版本,比如Blackbone。
kinghzking 1 3天前
19
0
Crakme 为啥你那DriverEntry方法上的注释会标红色波浪线[em_31]
WDK没安装或者版本不对的时候会出现波浪线
游客
登录 | 注册 方可回帖
返回