Windows内核开发-[1]、配置开发环境

前言

以前在书上看到,说现在的安全软件已经将对抗转移到内核层了,深以为然。

因为像360安全卫士,腾讯电脑管家这样的安全软件,仅通过用户层api很难做到更高级的防御和控制。

早些年我想获取电脑硬盘的详细使用信息,像鲁大师那样,但是一番找寻下来,并未在网上搜到满意的答案,自己所学也有限,后面索性就放弃了。

最近在github上看到一款项目,实现了跟跟鲁大师类似的磁盘信息读取功能。

我没有详细去看实现的代码,据我的一位不熟悉的朋友说,这里的实现是基于内核层的。

像在鲁大师的安装目录下,可以看到很多.sys的文件,这就说明鲁大师的很多功能,也是通过内核层代码实现的。

 

我其实一直是做桌面开发的,以C#为主,目前的水平和年纪,混口饭吃还行。学习内核开发,主要也是出于兴趣,也不说要学到什么程度,看心情吧。

 

值得注意的是,内核开发,并不仅仅只为了驱动某个硬件,也可以单纯的是为了实现某种功能。就像上面鲁大师里的那些.sys文件。

 

下载Visual Studio 2022

下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/

 

下图指明了不同版本的 WDK 需要的 Visual Studio 版本,我这里选择的是Visual Studio 2022

 

 

安装Windows SDK

在Visual Studio 2022的工作负载中进行钩选对应 的Windows SDK(注意:版本号需要和后面安装的WDK对应)

 

 

 

安装WDK(Windows Driver Kit)

下载地址:

https://learn.microsoft.com/zh-cn/windows-hardware/drivers/download-the-wdk#download-icon-step-3-install-wdk

 

下载执行安装,安装完成后会安装Visual Studio 2022的WDK扩展

 

 安装完成后,可以在Visual Studio 新建工程的模板中看到Driver这个类别

 

选择KMDF工程创建,编译通过,至此,开发环境就安装完成了

 

额外准备的

1、准备除开发环境外的另外一台电脑,后续调试时会用到,最好使用虚拟机来进行调试。

2、sysinternals工具包,下载地址 https://learn.microsoft.com/zh-cn/sysinternals/downloads/

 

参考资料:

下载 Windows 驱动程序工具包

https://learn.microsoft.com/zh-cn/windows-hardware/drivers/download-the-wdk

《Windows Kernel Programming, Second Edition》 Pavel Yosifovich

https://item.jd.com/12880683.html

《Windows内核编程》 谭文、陈铭霖

https://item.jd.com/12829266.html

 

后面文章中的部分内容来自于《Windows Kernel Programming》 Pavel Yosifovich、《Windows内核编程》 谭文、陈铭霖以及WDK的文档,仅供交流学习,请勿用作其它用途。

推荐大家购买原版书籍阅读。

 

posted @   zhaotianff  阅读(209)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示