进程、内存线程
PsGetCurrentProcess 得到当前进程结构 返回PEPROCESS数据结构 NtCurrentProcess 得到当前进程句柄 IoGetCurrentProcess 得到当前线程 该函数会得到一个PEPROCESS数据结构 记录进程的信息,其中包括进程名。 线程 PsCreateSystemThread 创建线程 该函数可以创建两种线程,一种是用户线程,一种是系统线程。用户线程是属于当前进程中的线程。当前进程指的是当前I/O操作的发起者。如果IRP_MJ_READ的派遣函数中调用PsCreateSystemThread函数创建用户线程,新线程就属于调用ReadFile的进程。 系统线程不属于当前用户进程,而属于系统进程。系统进程是操作系统中一个特殊的进程。这个进程的ID一般为4. PsTerminateSystemThread 结束线程(必须使用不然线程无法退出) 堆申请内存 ExAllocatePool ExAllocatePoolWithTag ExAllocatePoolWithQuota ExAllocatePoolWithQuotaTag ExFreePool 释放内存 ExFreePoolWithTag 释放内存 内存复制比较 RtlCopyMemory 复制内存(不可复制重叠区域) RtlMoveMemory 复制内存(可复制重叠区域) RtlFillMemory 填充内存 RtlZeroMemory 内存填充零 RtlEqualMemory 内存比较 内存检测 ProbeForRead 内存是否可读 ProbeForWrite 内存是否可写