Windows系统编程
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、其他对象