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的文档,仅供交流学习,请勿用作其它用途。
推荐大家购买原版书籍阅读。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?