![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Win驱动内核实验
hercu1iz
i am a robot.
展开
-
驱动实验六(实现注册表的修改)
驱动程序源代码:#include<ntifs.h>#include<windef.h>#include<ntstrsafe.h>#include<ntddk.h>#define DEVICE_NAME L"\\Device\\MyFirstDevice"#define SYM_NAME L"\\??\\MyFirstDevice"#define IOCTL_MUL CTL_CODE(FILE_DEVICE_UNKNOWN, 0x9888,原创 2021-12-25 22:20:20 · 365 阅读 · 0 评论 -
驱动实验五(文件的基本操作)
调用Zw函数 —> 检查参数,检查发起操作的模式 --> nt函数驱动程序源代码:#include<ntifs.h>#include<windef.h>#include<ntstrsafe.h>#include<ntddk.h>#define DEVICE_NAME L"\\Device\\MyFirstDevice"#define SYM_NAME L"\\??\\MyFirstDevice"#define IOCTL_MU原创 2021-12-24 20:37:58 · 400 阅读 · 0 评论 -
驱动实验四(字符串相关功能)
字符串的复制,查找,比较实现。驱动代码:#include<ntifs.h>#include<windef.h>#include<ntstrsafe.h>#define DEVICE_NAME L"\\Device\\MyFirstDevice"#define SYM_NAME L"\\??\\MyFirstDevice"#define IOCTL_MUL CTL_CODE(FILE_DEVICE_UNKNOWN, 0x9888, METHOD_BUFF原创 2021-12-18 21:59:10 · 334 阅读 · 0 评论 -
驱动实验三(实现自定义read、write、ctl_mul功能)
驱动源文件实现自定义read、write、ctl_mul功能#include<ntddk.h>#include<windef.h>#define DEVICE_NAME L"\\Device\\MyFirstDevice"#define SYM_NAME L"\\??\\MyFirstDevice"#define IOCTL_MUL CTL_CODE(FILE_DEVICE_UNKNOWN, 0x9888, METHOD_BUFFERED, FILE_ANY_ACCE原创 2021-12-16 22:51:35 · 124 阅读 · 0 评论 -
驱动实验二(实现物理设备基本交互)
驱动源码MyDriver2#include<ntddk.h>#define DEVICE_NAME L"\\Device\\MyFirstDevice"#define SYM_NAME L"\\??\\MyFirstDevice"VOID nothing(HANDLE ppid, HANDLE mypid, BOOLEAN bcreate){ DbgPrint("ProcessNotify\n");}VOID DrvUnload(PDRIVER_OBJECT pdrive原创 2021-12-15 23:07:20 · 245 阅读 · 0 评论 -
驱动实验准备篇(如何给驱动签名)
这里写自定义目录标题签名工具sign-tool下载证书导入证书设置规则(设置好签哪个证书)给驱动程序签名签名工具sign-toolhttps://www.trustasia.com/download-sign-tools一键式安装。安装完成:导入下载的证书。下载证书网上一大堆,随便找一个就行。导入证书导入成功:设置规则(设置好签哪个证书)调整系统时间为证书有效期间,否则签名无效。添加规则:设置完成:给驱动程序签名完成:注:电脑时间一定要调到证书有效期间 ,否则签名无效。原创 2021-12-12 17:15:44 · 6946 阅读 · 2 评论 -
驱动实验一(第一个驱动程序创建)
第一个驱动程序创建驱动1.创建工程2.添加源文件3.MyDriver1 Package可选择性移除,不影响功能。4.配置调整不必要的属性C/C++5.main.c源码#include<ntddk.h>VOID nothing(HANDLE ppid, HANDLE mypid, BOOLEAN bcreate){ DbgPrint("ProcessNotify\n");}VOID DrvUnload(PDRIVER_OBJECT pdriver){ Db原创 2021-12-10 21:38:45 · 619 阅读 · 0 评论