进程、内存线程

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 内存是否可写
原文地址:https://www.cnblogs.com/IMyLife/p/4826189.html