E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
Windows驱动开发
windows驱动开发
-内核编程技术汇总(二)
使用NTSTATUS值许多内核模式标准驱动程序例程和驱动程序支持例程使用NTSTATUS类型返回值。此外,在完成IRP时,驱动程序在IRP的IO_STATUS_BLOCK结构中提供NTSTATUS类型的值。NTSTATUS类型在Ntdef.h中定义,系统提供的状态代码在Ntstatus.h中定义。供应商还可以定义专用状态代码,尽管他们很少需要。NTSTATUS值分为四种类型:成功值、信息值、警告和
sului
·
2024-09-08 09:11
windows
驱动开发
Windows驱动开发
之环境搭建,长期Waiting for connecting...思路
Windows驱动开发
之环境搭建1、前期准备Vmware虚拟机软件Windows10iso安装包VisualStudio2022IDE软件SDK安装(一定要勾选上debug选项,windbg在里面)WDK
port9527
·
2024-01-31 01:40
Windows
windows
驱动开发
Minifilter文件及文件夹重定向
Minifilter文件及文件夹重定向minifilter是
windows驱动开发
中针对文件的一个过滤驱动,上可以实现文件透明加密、应用沙盒、自动备份等功能。
Niap.pr
·
2024-01-29 10:22
Windows驱动开发
7.6
Windows驱动开发
:内核监控FileObject文件回调
本篇文章与上一篇文章《内核注册并监控对象回调》所使用的方式是一样的都是使用ObRegisterCallbacks注册回调事件,只不过上一篇博文中LyShark将回调结构体OB_OPERATION_REGISTRATION中的ObjectType填充为了PsProcessType和PsThreadType格式从而实现监控进程与线程,本章我们需要将该结构填充为IoFileObjectType以此来实现
微软技术分享
·
2023-12-06 18:49
《灰帽黑客:攻守道》
windows
驱动开发
c语言
c++
7.4
Windows驱动开发
:内核运用LoadImage屏蔽驱动
在笔者上一篇文章《内核监视LoadImage映像回调》中LyShark简单介绍了如何通过PsSetLoadImageNotifyRoutine函数注册回调来监视驱动模块的加载,注意我这里用的是监视而不是监控之所以是监视而不是监控那是因为PsSetLoadImageNotifyRoutine无法实现参数控制,而如果我们想要控制特定驱动的加载则需要自己做一些事情来实现,如下LyShark将解密如何实现
微软技术分享
·
2023-12-04 07:16
《灰帽黑客:攻守道》
windows
驱动开发
c语言
c++
Windows ObjectType Hook 之 SecurityProcedure
有关ObjectType的分析见文章《
Windows驱动开发
学习记录-ObjectTypeHook之ObjectType结构相关分析》。
禁锢在时空之中的灵魂
·
2023-12-04 06:32
Windows内核
驱动开发
windows
c++
6.6
Windows驱动开发
:内核枚举Minifilter微过滤驱动
Minifilter是一种文件过滤驱动,该驱动简称为微过滤驱动,相对于传统的sfilter文件过滤驱动来说,微过滤驱动编写时更简单,其不需要考虑底层RIP如何派发且无需要考虑兼容性问题,微过滤驱动使用过滤管理器FilterManager提供接口,由于提供了管理结构以及一系列管理API函数,所以枚举过滤驱动将变得十分容易。通常文件驱动过滤是ARK重要功能之一,如下是一款闭源ARK工具的输出效果图。由
微软技术分享
·
2023-12-02 11:01
《灰帽黑客:攻守道》
windows
驱动开发
c++
开发语言
C语言
Minifilter
微过滤驱动
《
Windows驱动开发
技术详解》之读写操作
缓冲区方式读写操作设置缓冲区读写方式:读写操作一般是由ReadFile和WriteFile函数引起的,这里先以WriteFile函数为例进行介绍。WriteFile要求用户提供一段缓冲区,并且说明缓冲区的大小,然后WriteFile将这段内存的数据传入到驱动程序中。这种方法,操作系统将应用程序提供缓冲区数据直接复制到内核模式的地址中。这样做,比较简单的解决了将用户地址传入驱动的问题,而缺点是需要在
imxiangzi
·
2023-12-01 00:51
Windows/驱动
Windows驱动开发
之文件操作
转载请注明来源:enjoy5512的博客:http://blog.csdn.net/enjoy5512GitHub:https://github.com/whu-enjoy1.在驱动中使用文件在Windows执行体中,通过文件对象来代表文件,该文件对象是一种由对象管理器管理的执行体对象。例如:目录也是由文件对象代表的。内核组件通过对象名来引用文件,即在文件的全路径前面加\DosDevices。(在
enjoy5512
·
2023-12-01 00:21
Windows驱动开发
驱动开发
文件操作
字符串操作
动态内存申请
windows驱动开发
-基于WDM的PCIe DMA驱动
作者QQ群:852283276微信:arm80x86微信公众号:青儿创客基地B站:主页https://space.bilibili.com/208826118访问MEMIO资源MappingBus-RelativeAddressestoVirtualAddresses连接中断ServicingInterruptsRegisteringanISRUsingMessage-SignaledInterr
三遍猪
·
2023-12-01 00:20
windows驱动开发
WDM
PCIe
DMA
6.3
Windows驱动开发
:内核枚举IoTimer定时器
内核I/O定时器(KernelI/OTimer)是Windows内核中的一个对象,它允许内核或驱动程序设置一个定时器,以便在指定的时间间隔内调用一个回调函数。通常,内核I/O定时器用于周期性地执行某个任务,例如检查驱动程序的状态、收集性能数据等。今天继续分享内核枚举系列知识,这次我们来学习如何通过代码的方式枚举内核IoTimer定时器,内核定时器其实就是在内核中实现的时钟,该定时器的枚举非常简单,
微软技术分享
·
2023-12-01 00:03
《灰帽黑客:攻守道》
windows
驱动开发
IoTimer
定时器枚举
6.1
Windows驱动开发
:内核枚举SSDT表基址
SSDT表(SystemServiceDescriptorTable)是Windows操作系统内核中的关键组成部分,负责存储系统服务调用的相关信息。具体而言,SSDT表包含了系统调用的函数地址以及其他与系统服务相关的信息。每个系统调用对应SSDT表中的一个表项,其中存储了相应系统服务的函数地址。SSDT表在64位和32位系统上可能有不同的结构,但通常以数组形式存在。对于系统调用的监控、分析或修改等
微软技术分享
·
2023-11-30 21:49
《灰帽黑客:攻守道》
windows
驱动开发
C语言
信息安全
SSDT表
6.2
Windows驱动开发
:内核枚举SSSDT表基址
在Windows内核中,SSSDT(SystemServiceShadowDescriptorTable)是SSDT(SystemServiceDescriptorTable)的一种变种,其主要用途是提供Windows系统对系统服务调用的阴影拷贝。SSSDT表存储了系统调用的函数地址,类似于SSDT表,但在某些情况下,Windows系统会使用SSSDT表来对系统服务进行引导和调用。SSSDT表的存
微软技术分享
·
2023-11-30 12:10
《灰帽黑客:攻守道》
windows
驱动开发
c++
SSSDT
9.4
Windows驱动开发
:内核PE结构VA与FOA转换
本章将继续探索内核中解析PE文件的相关内容,PE文件中FOA与VA,RVA之间的转换也是很重要的,所谓的FOA是文件中的地址,VA则是内存装入后的虚拟地址,RVA是内存基址与当前地址的相对偏移,本章还是需要用到《内核解析PE结构导出表》中所封装的KernelMapFile()映射函数,在映射后对其PE格式进行相应的解析,并实现转换函数。首先先来演示一下内存VA地址与FOA地址互相转换的方式,通过使
微软技术分享
·
2023-11-29 02:14
《灰帽黑客:攻守道》
windows
驱动开发
c++
c语言
PE结构
3.2
Windows驱动开发
:内核CR3切换读写内存
CR3是一种控制寄存器,它是CPU中的一个专用寄存器,用于存储当前进程的页目录表的物理地址。在x86体系结构中,虚拟地址的翻译过程需要借助页表来完成。页表是由页目录表和页表组成的,页目录表存储了页表的物理地址,而页表存储了实际的物理页框地址。因此,页目录表的物理地址是虚拟地址翻译的关键之一。在操作系统中,每个进程都有自己的地址空间,地址空间中包含了进程的代码、数据和堆栈等信息。为了实现进程间的隔离
微软技术分享
·
2023-11-26 06:01
《灰帽黑客:攻守道》
windows
驱动开发
CR3
5.4
Windows驱动开发
:内核通过PEB取进程参数
PEB结构(ProcessEnvirormentBlockStructure)其中文名是进程环境块信息,进程环境块内部包含了进程运行的详细参数信息,每一个进程在运行后都会存在一个特有的PEB结构,通过附加进程并遍历这段结构即可得到非常多的有用信息。在应用层下,如果想要得到PEB的基地址只需要取fs:[0x30]即可,TEB线程环境块则是fs:[0x18],如果在内核层想要得到应用层进程的PEB信息
微软技术分享
·
2023-11-25 23:13
《灰帽黑客:攻守道》
windows
驱动开发
c++
c语言
PEB参数
8.3
Windows驱动开发
:内核遍历文件或目录
在笔者前一篇文章《内核文件读写系列函数》简单的介绍了内核中如何对文件进行基本的读写操作,本章我们将实现内核下遍历文件或目录这一功能,该功能的实现需要依赖于ZwQueryDirectoryFile这个内核API函数来实现,该函数可返回给定文件句柄指定的目录中文件的各种信息,此类信息会保存在PFILE_BOTH_DIR_INFORMATION结构下,通过遍历该目录即可获取到文件的详细参数,如下将具体分
微软技术分享
·
2023-11-25 17:42
《灰帽黑客:攻守道》
c++
c语言
开发语言
windows
驱动开发
文件目录遍历
5.1
Windows驱动开发
:判断驱动加载状态
在驱动开发中我们有时需要得到驱动自身是否被加载成功的状态,这个功能看似没啥用实际上在某些特殊场景中还是需要的,如下代码实现了判断当前驱动是否加载成功,如果加载成功,则输出该驱动的详细路径信息。该功能实现的核心函数是NtQuerySystemInformation这是一个微软未公开的函数,也没有文档化,不过我们仍然可以通过动态指针的方式调用到它,该函数可以查询到很多系统信息状态,首先需要定义一个指针
微软技术分享
·
2023-11-25 17:42
《灰帽黑客:攻守道》
驱动开发
Windows
驱动状态判断
7.5
Windows驱动开发
:监控Register注册表回调
在笔者前一篇文章《内核枚举Registry注册表回调》中实现了对注册表的枚举,本章将实现对注册表的监控,不同于32位系统在64位系统中,微软为我们提供了两个针对注册表的专用内核监控函数,通过这两个函数可以在不劫持内核API的前提下实现对注册表增加,删除,创建等事件的有效监控,注册表监视通常会通过CmRegisterCallback创建监控事件并传入自己的回调函数,与该创建对应的是CmUnRegis
微软技术分享
·
2023-11-24 20:03
《灰帽黑客:攻守道》
windows
驱动开发
注册表回调
Register
5.2
Windows驱动开发
:内核取KERNEL模块基址
模块是程序加载时被动态装载的,模块在装载后其存在于内存中同样存在一个内存基址,当我们需要操作这个模块时,通常第一步就是要得到该模块的内存基址,模块分为用户模块和内核模块,这里的用户模块指的是应用层进程运行后加载的模块,内核模块指的是内核中特定模块地址,本篇文章将实现一个获取驱动ntoskrnl.exe的基地址以及长度,此功能是驱动开发中尤其是安全软件开发中必不可少的一个功能。关于该程序的解释,官方
微软技术分享
·
2023-11-24 08:29
《灰帽黑客:攻守道》
windows
驱动开发
c++
开发语言
c语言
取内核Kernel模块
4.5
Windows驱动开发
:实现进程数据转储
多数ARK反内核工具中都存在驱动级别的内存转存功能,该功能可以将应用层中运行进程的内存镜像转存到特定目录下,内存转存功能在应对加壳程序的分析尤为重要,当进程在内存中解码后,我们可以很容易的将内存镜像导出,从而更好的对样本进行分析,当然某些加密壳可能无效但绝大多数情况下是可以被转存的。在上一篇文章《内核R3与R0内存映射拷贝》介绍了一种方式SafeCopyMemory_R3_to_R0可以将应用层进
微软技术分享
·
2023-11-22 23:25
《灰帽黑客:攻守道》
windows
驱动开发
c++
Visual
C++
4.2
Windows驱动开发
:内核中进程线程与模块
内核进程线程和模块是操作系统内核中非常重要的概念。它们是操作系统的核心部分,用于管理系统资源和处理系统请求。在驱动安全开发中,理解内核进程线程和模块的概念对于编写安全的内核驱动程序至关重要。内核进程是在操作系统内核中运行的程序。每个进程都有一个唯一的进程标识符(PID),它用于在系统中唯一地标识该进程。在内核中,进程被表示为一个进程控制块(PCB),它包含有关进程的信息,如进程状态、优先级、内存使
微软技术分享
·
2023-11-21 09:02
《灰帽黑客:攻守道》
windows
驱动开发
内核进程
线程与模块
8.1
Windows驱动开发
:内核文件读写系列函数
在应用层下的文件操作只需要调用微软应用层下的API函数及C库标准函数即可,而如果在内核中读写文件则应用层的API显然是无法被使用的,内核层需要使用内核专有API,某些应用层下的API只需要增加Zw开头即可在内核中使用,例如本章要讲解的文件与目录操作相关函数,多数ARK反内核工具都具有对文件的管理功能,实现对文件或目录的基本操作功能也是非常有必要的。首先无论在内核态还是在用户态,我们调用的文件操作函
微软技术分享
·
2023-11-21 09:02
《灰帽黑客:攻守道》
windows
驱动开发
Visual
C++
c++
c语言
Windows ObjectType Hook 之 OkayToCloseProcedure
有关ObjectType的分析见文章《
Windows驱动开发
学习记录-ObjectTypeHook之ObjectType结构相关分析》。
禁锢在时空之中的灵魂
·
2023-11-21 02:32
Windows内核
驱动开发
windows
c++
C++开发方向之
windows驱动开发
最近浏览招聘网站看到关于
windows驱动开发
的岗位,前几天一个C++客户端工作岗位,猎头也问我是否有了解windows内核。所以,调研了一下C++的开发方向:
windows驱动开发
。
haimianjie2012
·
2023-11-19 12:05
程序员的工具和书
驱动开发
windows
c++
3.6
Windows驱动开发
:内核进程汇编与反汇编
在笔者上一篇文章《内核MDL读写进程内存》简单介绍了如何通过MDL映射的方式实现进程读写操作,本章将通过如上案例实现远程进程反汇编功能,此类功能也是ARK工具中最常见的功能之一,通常此类功能的实现分为两部分,内核部分只负责读写字节集,应用层部分则配合反汇编引擎对字节集进行解码,此处我们将运用capstone引擎实现这个功能。首先是实现驱动部分,驱动程序的实现是一成不变的,仅仅只是做一个读写功能即可
微软技术分享
·
2023-11-19 12:58
《灰帽黑客:攻守道》
windows
驱动开发
汇编
内核反汇编
内核汇编
Windows驱动开发
入门系列教程
前几天,一个朋友问到我怎么学习
Windows驱动开发
,我就想到把我学习
Windows驱动开发
的过程分享一下,也算我的一点总结。
程序心声
·
2023-11-19 01:00
驱动开发
Windows
驱动开发
3.3
Windows驱动开发
:内核MDL读写进程内存
MDL内存读写是一种通过创建MDL结构体来实现跨进程内存读写的方式。在Windows操作系统中,每个进程都有自己独立的虚拟地址空间,不同进程之间的内存空间是隔离的。因此,要在一个进程中读取或写入另一个进程的内存数据,需要先将目标进程的物理内存映射到当前进程的虚拟地址空间中,然后才能进行内存读写操作。MDL结构体是Windows内核中专门用于描述物理内存的数据结构,它包含了一系列的数据元素,包括物理
微软技术分享
·
2023-11-17 12:59
《灰帽黑客:攻守道》
windows
驱动开发
MDL
2.6
Windows驱动开发
:使用IO与DPC定时器
本章将继续探索驱动开发中的基础部分,定时器在内核中同样很常用,在内核中定时器可以使用两种,即IO定时器,以及DPC定时器,一般来说IO定时器是DDK中提供的一种,该定时器可以为间隔为N秒做定时,但如果要实现毫秒级别间隔,微秒级别间隔,就需要用到DPC定时器,如果是秒级定时其两者基本上无任何差异,本章将简单介绍IO/DPC这两种定时器的使用技巧。首先来看IO定时器是如何使用的,IO定时器在使用上需要
微软技术分享
·
2023-11-17 12:59
《灰帽黑客:攻守道》
windows
驱动开发
内核IO定时器
内核DPC定时器
2.5
Windows驱动开发
:DRIVER_OBJECT对象结构
在Windows内核中,每个设备驱动程序都需要一个DRIVER_OBJECT对象,该对象由系统创建并传递给驱动程序的DriverEntry函数。驱动程序使用此对象来注册与设备对象和其他系统对象的交互,并在操作系统需要与驱动程序进行交互时使用此对象。DRIVER_OBJECT对象还包含了与驱动程序所管理的设备对象相关联的设备扩展结构,以及用于处理I/O请求的函数指针等信息。它是驱动程序与操作系统内核
微软技术分享
·
2023-11-16 07:23
《灰帽黑客:攻守道》
windows
驱动开发
字符串拷贝
字符串比较
c语言windows驱动编程入门,
Windows驱动开发
技术详解 PDF扫描版[175MB]
Windows驱动开发
技术详解由浅入深、循序渐进地介绍了windows驱动程序的开发方法与调试技巧。
于西奥
·
2023-11-15 23:14
2.3
Windows驱动开发
:内核字符串转换方法
在内核编程中字符串有两种格式ANSI_STRING与UNICODE_STRING,这两种格式是微软推出的安全版本的字符串结构体,也是微软推荐使用的格式,通常情况下ANSI_STRING代表的类型是char*也就是ANSI多字节模式的字符串,而UNICODE_STRING则代表的是wchar*也就是UNCODE类型的字符,如下文章将介绍这两种字符格式在内核中是如何转换的。在Windows内核中,字符
微软技术分享
·
2023-11-15 23:40
《灰帽黑客:攻守道》
windows
驱动开发
字符串处理
2.4
Windows驱动开发
:内核字符串拷贝与比较
在上一篇文章《内核字符串转换方法》中简单介绍了内核是如何使用字符串以及字符串之间的转换方法,本章将继续探索字符串的拷贝与比较,与应用层不同内核字符串拷贝与比较也需要使用内核专用的API函数,字符串的拷贝往往伴随有内核内存分配,我们将首先简单介绍内核如何分配堆空间,然后再以此为契机简介字符串的拷贝与比较。2.4.1内核中的空间分配首先内核中的堆栈分配可以使用ExAllocatePool()这个内核函
微软技术分享
·
2023-11-14 10:38
《灰帽黑客:攻守道》
windows
驱动开发
字符串拷贝
字符串比较
2.1
Windows驱动开发
:内核链表与结构体
在Windows内核中,为了实现高效的数据结构操作,通常会使用链表和结构体相结合的方式进行数据存储和操作。内核提供了一个专门用于链表操作的数据结构LIST_ENTRY,可以用来描述一个链表中的每一个节点。使用链表来存储结构体时,需要在结构体中嵌入一个LIST_ENTRY类型的成员变量,用来连接相邻的节点。通过一些列链表操作函数,如InitializeListHead、InsertHeadList、
微软技术分享
·
2023-11-13 18:25
《灰帽黑客:攻守道》
windows
驱动开发
链表
2.2
Windows驱动开发
:内核自旋锁结构
提到自旋锁那就必须要说链表,在上一篇《内核中的链表与结构体》文章中简单实用链表结构来存储进程信息列表,相信读者应该已经理解了内核链表的基本使用,本篇文章将讲解自旋锁的简单应用,自旋锁是为了解决内核链表读写时存在线程同步问题,解决多线程同步问题必须要用锁,通常使用自旋锁,自旋锁是内核中提供的一种高IRQL锁,用同步以及独占的方式访问某个资源。在了解自旋锁之前需简单介绍一下内核中如何分配内存,一般而言
微软技术分享
·
2023-11-13 17:35
《灰帽黑客:攻守道》
windows
驱动开发
Windows ObjectType Hook 之 ParseProcedure
有关ObjectType的分析见文章《
Windows驱动开发
学习记录-ObjectTypeHook之ObjectType结构相关分析》。 这里进行的Hook为其中之一的ParseProcedure。
禁锢在时空之中的灵魂
·
2023-11-06 08:54
Windows内核
windows
c++
驱动开发
Windows ObjectType Hook 之 OpenProcedure
有关ObjectType的分析见文章《
Windows驱动开发
学习记录-ObjectTypeHook之ObjectType结构相关分析》。 这里进行的Hook为其中之一的OpenProcedure。
禁锢在时空之中的灵魂
·
2023-11-03 03:25
Windows内核
驱动开发
windows
c++
c++开发Windows驱动程序步骤
使用C++进行
Windows驱动开发
需要以下步骤:安装WindowsDriverKit(WDK),该工具包包含了开发Windows驱动所需的所有工具和库文件。编写驱动程序代码。
七月学长
·
2023-10-25 10:08
c++
windows
开发语言
Windows驱动开发
之获取系统时间
转载请注明来源:enjoy5512的博客:http://blog.csdn.net/enjoy5512GitHub:https://github.com/whu-enjoy1.获取系统开机时间获得当前“滴答数”:获得系统日前和时间往往是为了写日志,获得启动毫秒数则很适合用来做一个随机数的种子。有时也使用时间相关的函数来寻找程序的性能瓶颈。在Win32开发中,我们使用GetTickCount()函数
enjoy5512
·
2023-10-21 01:41
Windows驱动开发
驱动开发
获取系统时间
Windows驱动开发
(1) - 驱动程序结构
Windows驱动开发
(1)-驱动程序结构1、NT式1.1头文件Driver.h头文件中包含了开发NT式驱动所需要的NTDDK.h,此外还定义了几个标志来指明函数和变量分配在分页内存还是非分页内存中。
Vinx911
·
2023-10-16 22:34
Win驱动开发
驱动开发
windows
Windows驱动开发
之驱动开发环境搭建
转载请注明来源:enjoy5512的博客:http://blog.csdn.net/enjoy5512GitHub:https://github.com/whu-enjoy本系列教程采用VMware+本机进行双机调试,本机是Win10,虚拟机使用XPSP3进行运行调试一.虚拟机端配置1.1安装VMware并安装XPSP3系统这个网上教程很多,就不详述了这里找了一篇百度的教程http://jingy
enjoy5512
·
2023-10-16 22:32
Windows驱动开发
驱动开发
1.1
Windows驱动开发
:配置驱动开发环境
首先,您需要安装
Windows驱动开发
工具包(WDK),这是一组驱动开发所需的工具、库、示例和文档。然后,您需要安装VisualStudio开发环境,以便编写和调试驱动程序。
孤风洗剑
·
2023-10-16 22:30
《灰帽黑客:攻守道》
windows
驱动开发
c语言
c++
Visual
C++
Windows驱动开发
学习记录-遍历内核已加载模块之一(使用DriverSection)
附另两种方法链接:
Windows驱动开发
学习记录-遍历内核已加载模块之二(使用ZwQuerySystemInformation)
Windows驱动开发
学习记录-遍历内核已加载模块之三(使用AuxKlib
禁锢在时空之中的灵魂
·
2023-10-16 13:52
Windows内核
windows
c++
链表
Windows驱动开发
学习记录-遍历内核已加载模块之二(使用ZwQuerySystemInformation)
附另两种方法链接:
Windows驱动开发
学习记录-遍历内核已加载模块之一(使用DriverSection)
Windows驱动开发
学习记录-遍历内核已加载模块之三(使用AuxKlib)1.原型NTSTATUSZwQuerySystemInformation
禁锢在时空之中的灵魂
·
2023-10-16 13:52
Windows内核
windows
c++
驱动程序
Windows驱动开发
学习记录-驱动中获取当前驱动文件路径
1.背景学习驱动期间打算做一个驱动,功能中需要在驱动启动成功后删除注册表中的服务项,关机时再自动添加到注册表启动项以便下次能自动加载驱动。一般情况注册表中项目如下,其中ImagePath为驱动的路径。这个路径是在注册服务时写进入注册表里的,在DriverEntry(PDRIVER_OBJECTpDriverObject,PUNICODE_STRINGpRegistryPath)中,可以根据第二个参
禁锢在时空之中的灵魂
·
2023-10-16 13:51
Windows内核
windows
c++
Windows -编程-变量和常量之间的差异
诚接
Windows驱动开发
外包您使用const关键字而不是关键字来声明常量let,并且必须注释值的类型。我们将在下一
安信实验室
·
2023-09-30 23:03
驱动
驱动开发
应用程序开发
c++
Windows
Windows驱动开发
Windows驱动开发外包
Windows驱动
Windows驱动开发
(一)第一个驱动程序
首先我们需要了解,在操作系统中,是分两种权限的,一种是内核态,我们也称为0环,一种是用户态,称之为3环。而在我们的电脑中,驱动程序是运行在内核态的,这意味着和操作系统内核是在同一权限的,而普通的应用程序的权限是最低的。高权限谁不想拥有呢,因此驱动程序是很有必要了解与学习的。比如我们熟知的防病毒软件,游戏保护等,现在都在利用内核驱动技术来保护自己的数据。windows提供了好几种驱动框架模型,这里我
call就不要ret
·
2023-09-17 21:10
操作系统
驱动开发
windows
Windows驱动开发
(一)
1.引言很难为术语“驱动程序”提供一个精确的定义。就最基本的意义而言,驱动程序是一个软件组件,可让操作系统和设备彼此通信。例如,假设应用程序需要从设备中读取某些数据。应用程序会调用由操作系统实现的函数,操作系统会调用由驱动程序实现的函数。驱动程序(由设计和制造该设备的同一公司编写)了解如何与设备硬件通信以获取数据。当驱动程序从设备获取数据后,它会将数据返回到操作系统,操作系统会将数据返回至应用程序
永不复还
·
2023-09-16 11:08
驱动开发
windows
驱动开发
DDK与VC6.0与DriverStudio3.2安装与配置(驱动开发)
那么搭建一个完整的
Windows驱动开发
环境是每个人必须迈过的第一道坎,不迈过这道坎,以后的什么都是空想。
小狼1114
·
2023-08-29 04:17
驱动学习
ddk
build
wizard
windows
compiler
include
[
Windows驱动开发
]内存申请与释放的三种方式
#include#ifdef__cplusplus//此处是全局new,delete,new[],delete[]的重载,这是必要的void*operatornew(size_tsize,POOL_TYPEPoolType=PagedPool){KdPrint(("new%I64u\n",size));returnExAllocatePool(PoolType,size);}void*operat
晚晶
·
2023-08-15 08:13
教程
驱动开发
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他