Windows内核

常见的函数后缀

eg:MessageBox

A ASCII

W UNICODE

Ex 改进

32位调用的是stdcall,64位调用的是fastcall存在eax中

0环的helloworld

NT驱动

WDM

WDF

UWDF

内核数据结构

在Windows能中有一种很重要的数据结构管理机制,这就是内核对象。应用层的线程,进程,文件,驱动模块,事件,信号量等都有对应的对象。

一个Windows的内核对象分为 对象头和对象体两部分,在对象头中至少有1个OBJECT_HEADER和对象额外信息。对象题紧接着对象头的OBJECT_HEADER。一个对象指针总是指着对象题。如果要访问对象头,需要将对象体指针减去一个特定的偏移值,以获取OBJECT_HEADER,通过OBJECT_HEADER 结构定位从而为访问其他对象结构的辅助信息,对象内部一般会有1个type和1个size成员,用于表示对象的类型和大小。

Windows对象类型主要有以下3种,

1、Dispatcher对象

2、IO对象

3、其他对象