首页 > 系统相关 >Windows内核开发-[1]、配置开发环境

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

时间:2024-01-23 16:33:35浏览次数:31  
标签:Windows Visual 开发 Studio 内核 https com

前言

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

因为像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

相关文章

  • 【Windows运维系列5】自动识别并封堵恶意IP,让你的Windows服务器安全更上一层楼
    在前面的文章中,我们介绍了在我为一位使用Hostease的服务器客户进行了安全加固,通过bat批处理脚本来实现自动修改服务器Windows操作系统的远程端口,建立了非常可靠的登陆安全防护,让我们的Windows服务器更安全。虽然国内有像360安全卫士这样的软件,功能确实非常强大,但是功能太多了,如果设......
  • 低代码开发:拖拽式可视化构建工业物联网系统
    以速度为后盾的创新是当今各种规模组织的基础。在这个持续数字化变革的时代,每个组织都必须随时准备创新。低编码就是这样的创新。Gartner预测,到2024年,65%的应用程序开发项目将依赖于低代码开发。什么是低代码?低代码(LowCode)是一种可视化的软件开发方法,通过最少的手动编码可以......
  • 深入解析互联网医院APP开发流程与源码搭建
    本篇文章,深入解析互联网医院APP的开发流程,并提供关于源码搭建的一些建议。 一、确定需求与功能在开始互联网医院APP的开发之前,首先需要明确项目的需求和功能。这包括用户端的预约挂号、在线咨询、报告查看等功能,以及医生端的排班管理、病历查看等功能。确保需求明确,有助于后续的流......
  • Node.js Shell 脚本开发指南(下)
    十四、创建跨平台shell脚本原文:exploringjs.com/nodejs-shell-scripting/ch_creating-shell-scripts.html译者:飞龙协议:CCBY-NC-SA4.014.1所需的知识14.1.1本章的下一步是什么14.2Node.jsESM模块作为Unix上独立的shell脚本14.2.1Unix上的Node.js......
  • 鸿蒙5.0发布时间已定!鸿蒙系统上的App开发新思路
    直接在百度上搜索「鸿蒙5.0发布时间」,出来的结果,那一个比一个焦虑~~百度的AI基于综合内容判断得出,鸿蒙5.0的发布时间在2023-04-17百度知道推的答案是202年年4月中但不管几月,“鸿蒙元年”似乎都是确定的,就是2024年。   鸿蒙5.0如此独特,直接引导......
  • STM32F105双路隔离型CAN总线转4G控制板 - 二次开发环境搭建和程序下载测试
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/product/STM32F105_2CAN/index.html"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p>......
  • go-carbon v2.3.6 发布,轻量级、语义化、对开发者友好的 golang 时间处理库
    carbon是一个轻量级、语义化、对开发者友好的golang时间处理库,支持链式调用。目前已被awesome-go收录,如果您觉得不错,请给个star吧github.com/golang-module/carbongitee.com/golang-module/carbon安装使用Golang版本大于等于1.16//使用github库goget-ugithu......
  • 做独立开发者,能在 AppStore 赚到多少钱?
    成为一名独立开发者,不用朝九晚五的上班,开发自己感兴趣的产品,在AppStore里赚美金,这可能是很多程序员的梦想,今天就来盘一盘,这个梦想实现的概率有多少。(Solo社区投稿)先来了解一些数据:苹果公司披露了最新的开发者数据。截至目前,全球开发者数量突破3000万,大中华区开发者总数超过500......
  • MySQL数据库开发规范-EC
    最近一段时间一边在线上抓取SQL来优化,一边在整理这个开发规范,尽量减少新的问题SQL进入生产库。今天也是对公司的开发做了一次培训,PPT就不放上来了,里面有十来个生产SQL的案例。因为规范大部分还是具有通用性,所以也借鉴了像去哪儿和赶集的规范,但实际在撰写本文的过程中,每一条规范的背......
  • e4a开发的一款手机银行app虚拟转账回执单生成器源码分享下载 -23软件网
    编写一个虚拟转账回执单生成器的源码对于E4A(EasyforAndroid)开发环境来说是一个有趣的项目。E4A是一个简化Android应用开发的工具,它允许开发者使用较为简单的编程语言和工具来创建应用。以下是一个简单的示例代码,用于创建一个模拟的手机银行App中的虚拟转账回执单生成器。请注意......