Windows内核函数使用

导出文档化 导出未文档化

内核API

复制代码
#include <ntifs.h>

VOID DriverUnload(PDRIVER_OBJECT pDriver)
{
	DbgPrint("Exit! \n");
}

NTSTATUS DriverEntry(PDRIVER_OBJECT pDriver, PUNICODE_STRING pReg)
{
	pDriver->DriverUnload = DriverUnload;

	UNICODE_STRING uStr = { 0 };

	RtlInitUnicodeString(&uStr,L"Star");
	
	DbgPrint("Buffer->[%ws] Length->[%d] MaximumLength->[%d] \n",uStr.Buffer,uStr.Length,uStr.MaximumLength);

	return	STATUS_SUCCESS;
}

导出未文档化

Windows 内核函数

Windows 内核部分会调用一些内核层的函数。这些函数都以固定的开始前缀,分别属于内核中不同的管理模块。通过函数名就可以大致知道这个函数所属的层次和模块。这些主要的前缀如下:

  • Ex:管理层。"Ex"是"Executive"的开头两个字母。
  • Ke:核心层。"Ke"是"Kernel"的开头两个字母。
  • HAL:硬件抽象层。"HAL"是"Hardware Abstraction Layer"的缩写。
  • Ob:对象管理。"Ob"是"Object"的开头两个字母。
  • MM:内存管理。"MM"是"Memory Manager"的缩写。
  • Ps:进程(线程)管理。"Ps"表示"Process"。
  • Se:安全管理。"Se"是"Security"的开头两个字母。
  • Io:I/O管理。
  • Fs:文件系统。"Fs"是"File System"的缩写。
  • Cc:文件缓存管理。"Cc"表示"Cache"。
  • Cm:系统配置管理。"Cm"是"Configuration Manager"的缩写。
  • Pp:即插即用管理。"Pp"表示"Pnp"。
  • Rtl:运行时程序库。"Rtl"是"Runtime Library"的缩写。
  • Zw/Nt:对应于SSDT中的服务函数,例如与文件或者注册表相关的操作函数。
  • Flt:Minifilter文件过滤驱动中调用的函数。
  • Ndis:Ndis网络框架中调用的函数。

未导出

内核结束进程

TerminateProcess

NtTerminateProcess

PspTerminateAllThreads

PspTerminateThreadByPointer

复制代码
NTSTATUS
PspTerminateThreadByPointer(
    IN PETHREAD Thread,
    IN NTSTATUS ExitStatus,
    IN BOOLEAN DirectTerminate
    )
相关推荐
w***74408 小时前
SQL Server2022版详细安装教程(Windows)
windows
IT逆夜15 小时前
实现Yum本地仓库自动同步的完整方案(CentOS 7)
linux·运维·windows
v***598315 小时前
DeepSeek API 调用 - Spring Boot 实现
windows·spring boot·后端
q***25117 小时前
Windows操作系统部署Tomcat详细讲解
java·windows·tomcat
love530love20 小时前
【笔记】ComfUI RIFEInterpolation 节点缺失问题(cupy CUDA 安装)解决方案
人工智能·windows·笔记·python·插件·comfyui
M***Z2101 天前
如何在Windows系统上安装和配置Node.js及Node版本管理器(nvm)
windows·node.js
love530love1 天前
【保姆级教程】Windows + Podman 从零部署 Duix-Avatar 数字人项目
人工智能·windows·笔记·python·数字人·podman·duix-avatar
tobebetter95271 天前
How to manage python versions on windows
开发语言·windows·python
q***71851 天前
windows下安装并使用node.js
windows·node.js