![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
windows驱动
文章平均质量分 63
小猪背书包
薪资与工作年限无关,与自身实力直接挂钩
展开
-
设备对象(DEVICE_OBJECT)
DEVICE_OBJECT结构体是操作系统用来表示某个具体的设备对象,一个设备对象是一个逻辑上的,或者虚拟的,或者物理上的设备的具体抽象,驱动通过设备对象来处理I/O请求。[cpp] view plain copytypedef struct _DEVICE_OBJECT { CSHORT Type转载 2016-11-03 22:22:53 · 1381 阅读 · 0 评论 -
段描述符与段选择子的结构
段选择子结构段选择子就是一个数字,一共有16位,结构如下:| 1 | 0 | 字节|7654321076543 2 10| 比特|-------------|-|--| 占位| INDEX |T|R | 含义| |I|P || | |L |123456123456INDEX:在G转载 2016-12-25 22:53:06 · 1433 阅读 · 0 评论 -
遍历IDT表和分析GDT表结构
//头文件IDT_GDT.h#include"basetsd.h"/**IDT寄存器结构*IDTR寄存器共有48位,高32位是IDT表的基地址,低16位是IDT表的长度(Limit)*IDT表示一张位于物理内存中的线性表,共有256个表项。*/typedef struct _IDT_INFO{ UINT16 uIdtLimit; UINT16 uLowIdtBa原创 2016-12-26 13:44:48 · 3035 阅读 · 1 评论 -
SSDThook
SSDT hook整个流程:获取SSDT表,自定义函数替换表中函数地址。通过以下的方式获取SSDT表的内容:typedef struct ServiceDescriptorTable { PVOID ServiceTableBase; PVOID ServiceCounterTable; unsigned int NumberOfSection;原创 2016-12-31 21:06:49 · 399 阅读 · 0 评论