前言
以前在书上看到,说现在的安全软件已经将对抗转移到内核层了,深以为然。
因为像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工程创建,编译通过,至此,开发环境就安装完成了
额外准备的q
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,Visual,开发,Studio,内核,https,com From: https://www.cnblogs.com/zhaotianff/p/17939814