来记录一下自己学习驱动开发的过程,便于复习回忆。环境:Windows10 Visual Studio 2019 WDK1803 VMware16 Windows1804工具:DebugView 数字签名工具(signtools-v3.2)VMware安装1804的系统,使用签名工具避免开启免签,个人感觉安全些。类似Windows应用程序有统一的WinMain入口函数,内核驱动也有一个统一
转载
2023-07-12 20:44:30
86阅读
Windows内核开发-4-内核编程基础 这里会构建一个简单但是完整的驱动程序和一个客户端,部署内核执行一些平时user下无法执行的操作。 将通过以下内容进行讲解: 1 介绍 2 驱动初始化 3 Create和Close操作调度实例 4 DeviceIoControl操作调度实例 5 安装和测试驱动 ...
转载
2021-07-23 18:25:00
544阅读
2评论
Windows内核开发-3-内核编程基础 这里会深入讲解kernel内核的API、结构体、和一些定义。考察代码在内核驱动中运行的机制。最后把所有知识合在一起写一个有用的驱动。 本章学习要点: 1:通用内核编程指南 2:debug和release版本的区别 3:内核API 4:函数和错误代码 5:字符 ...
转载
2021-07-22 00:20:00
1343阅读
2评论
/*1.基本的驱动数据结构//驱动对象结构体typedef struct _DRIVER_OBJECT { CSHORT Type; //结构类型 CSHORT Size; //结构大小 PDE...
原创
2022-07-18 17:06:40
68阅读
文章目录前言一、 驱动开发:通过PIPE管道与内核层通信1.1 PIPE管道1.2 代码实战二、 驱动开发:通过Async正向与内核通信2.1 Syn正向通信及代码实战2.2 Async正向通信及代码实战三、 驱动开发:通过MDL映射实现多次通信(内核层开辟共享内存)3.1 MDL四、 驱动开发:通过应用堆实现多次通信(应用层开辟共享空间)4.1 应用堆实现多次通信及代码实战五、 驱动开发:基于事
本节主要运行基础代码:1.链表2.自旋锁3.内核字符串转换方法熟悉一些代码,运行理解驱动编程。
本文介绍了Windows驱动开发环境的配置与调试方法。主要内容包括:WDK工具链的版本选择(VS2019/WDK 19041/SDK 19041)、
1)用VS2010新建Win32 Console Application,工程名为ACECore,工程建立完成后得到打开文件ACECore.cpp,代码
原创
2022-09-22 18:30:50
125阅读
title:《windows内核原理与实现》笔记一. 计算机系统的硬件资源管理1.计算机提供时钟中断:每隔一定时间,硬件系统触发一个中断,操作系统截获此中断,暂停当前任务,选择一个新任务。从而实现任务的切换。多个任务可以在一个CPU中轮换执行。
2.对于32位系统,内核代码可以访问进程整个4G空间。每个任务具有独立的4G内存。“”虚拟内存“”。32bit
3.CPU通过特定的指令来控制I\O设备。
转载
2023-11-29 10:54:55
204阅读
<br />2010-10-17 00:56<br /> 实际上我的windows内核编程和恶意代码分析的经历只有3个月,还不知道今后能不能继续用得上。我
转载
2023-09-19 10:22:45
125阅读
内存管理概念:1)物理内存PC上有三条总线:数据总线、地址总线和控制总线。32位CPU的寻址能力是4GB个字节,
原创
2022-09-22 18:27:13
191阅读
系统线程: 在驱动中生成的线程一般是系统线程,系统线程所在的进程名为“System”,用到的内核API函数是: NTSTATUS PsCreateSystemThread( OUT PHANDLE ThreadHandle, IN ULONG DesiredAccess, IN POBJECT_AT
原创
2021-07-20 15:51:24
311阅读
PsGetCurrentProcessId等到当前进程的进程号。
1.、基本数据类型
普通类型-------------------------------------------对应内核类型
unsigned long ------------------------------------ULONG
unsigned char --------------------
原创
2012-06-11 21:18:11
1005阅读
系统线程:在驱动中生成的线程一般是系统线程,系统线程所在的进程名为“System”,
原创
2022-01-06 17:16:37
95阅读
驱动对象:每个驱动程序都会有唯一的驱动对象与之对应,并且这个驱动对象是在驱动加载时被内核中的对象管理程序所创建的。驱动对象用DRIVER_OBJECT数据结构表示,它作为驱动的一个实例被内核加载,并且内核对一个驱动只加载一个实例。
原创
2022-01-06 17:25:54
224阅读
0x01 子进程继承父进程内核对象句柄父进程...
原创
2022-07-18 17:05:26
59阅读
系统线程:在驱动中生成的线程一般是系统线程,系统线程所在的进程名为“System”,用到的内核API函数是:NTSTATUS PsCreateSystemThread(O
原创
2022-09-22 18:06:09
133阅读
驱动对象:一个驱动对象代表一个驱动程序,或者说一个内核模块。驱动对象的结构定义如下(wdm.h):typedefstruct _DRIVER_OB
原创
2022-09-22 18:07:18
170阅读
文章目录进程和程序内核对象何为内核对象系统4环结构内核对象数据结构句柄使用计数Counter安全描述符SecurityDescriptor内核对象的安全性
原创
2021-09-07 15:50:07
673阅读