学逆向论坛

找回密码
立即注册

只需一步,快速开始

发新帖

2万

积分

41

好友

1157

主题

[转载图文] C/C++ 驱动编写02

发表于 2022-4-25 12:16:45 | 查看: 2418| 回复: 0
今天写第一个驱动程序,首先创建一个驱动项目:

C/C++ 驱动编写02

 C/C++ 驱动编写02

C/C++ 驱动编写02

 C/C++ 驱动编写02

C/C++ 驱动编写02

 C/C++ 驱动编写02
注意创建完毕的时候找到这个inf文件,右键->移除->删除。
然后创建文件:

C/C++ 驱动编写02

 C/C++ 驱动编写02
首先左上角的配置改为Release x64 ,然后右键Resource Files -> 添加 -> 新建项
选择c++文件 输入文件名,点击添加。

C/C++ 驱动编写02

 C/C++ 驱动编写02
现在先不写代码,先把项目配置好:
右键 -> 属性

C/C++ 驱动编写02

 C/C++ 驱动编写02
C/C++ -> 常规 警告等级设置成3 ; 将警告视为错误 -> 否

C/C++ 驱动编写02

 C/C++ 驱动编写02
C/C++ -> 代码生成 Spectre Mitigation -> Disabled

C/C++ 驱动编写02

 C/C++ 驱动编写02
Driver Settings -> Target OS Version -> Windows10 or higher (驱动目标系统,由于我是Win11所以选择此项,你们根据你们运行的系统选择。)

C/C++ 驱动编写02

 C/C++ 驱动编写02
点击应用 -> 确定,项目设置完毕,下面可以写代码了。

C/C++ 驱动编写02

 C/C++ 驱动编写02
#include

NTSTATUS DriverEntry(PDRIVER_OBJECT Driver,PUNICODE_STRING reg_path)
{
        NTSTATUS STATUS = STATUS_SUCCESS;
        DbgPrintEx(0, 0, "驱动加载成功");
        DbgPrintEx(0, 0, "驱动在注册表中的路径: %wZ ", reg_path);
        return STATUS;
}

此时我们右键项目 -> 重新生成:

C/C++ 驱动编写02

 C/C++ 驱动编写02

C/C++ 驱动编写02

 C/C++ 驱动编写02
编译成功,我们去找我们编译好的驱动:

C/C++ 驱动编写02

 C/C++ 驱动编写02

C/C++ 驱动编写02

 C/C++ 驱动编写02

C/C++ 驱动编写02

 C/C++ 驱动编写02

C/C++ 驱动编写02

 C/C++ 驱动编写02

C/C++ 驱动编写02

 C/C++ 驱动编写02
这就是我们编译好的驱动了





温馨提示:
1.如果您喜欢这篇帖子,请给作者点赞评分,点赞会增加帖子的热度,评分会给作者加学币。(评分不会扣掉您的积分,系统每天都会重置您的评分额度)。
2.回复帖子不仅是对作者的认可,还可以获得学币奖励,请尊重他人的劳动成果,拒绝做伸手党!
3.发广告、灌水回复等违规行为一经发现直接禁言,如果本帖内容涉嫌违规,请点击论坛底部的举报反馈按钮,也可以在【投诉建议】板块发帖举报。
论坛交流群:672619046

小黑屋|手机版|站务邮箱|学逆向论坛 ( 粤ICP备2021023307号 )|网站地图

GMT+8, 2024-3-29 16:25 , Processed in 0.101090 second(s), 41 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表