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
    )
相关推荐
YCOSA20253 小时前
雨晨 Windows 10 企业版 LTSC x64 中度精简 1809 迎双节 17763.9257 特别版
windows
sukalot4 小时前
windows 驱动实例分析系列: HidHide 驱动分析 - drivers 篇(四)
windows·驱动开发
ι:9 小时前
NUC12 Pro 安装 Ubuntu 24.04 LTS 详细教程
linux·windows·ubuntu·nuc
YCOSA20259 小时前
微软宣布将于10月7日举行Windows与Surface发布会,聚焦“Windows、NVIDIA RTX Spark、Surface,以及更广泛PC生态”
windows
Source.Liu10 小时前
【A11】 labelprinter(Tauri 版)新建步骤
windows·rust
Punchline27811 小时前
解决 Windows 环境变量 Path 设置时提示“字符太长”的完整指南
windows·环境变量·path
chushiyunen11 小时前
claude code笔记(二)、claude桌面端(内网不好用)
windows
d_benhua12 小时前
以太网测试步骤
windows
冯一川12 小时前
DeepSeek在Windows系统上部署
windows·python
解道Jdon14 小时前
JDK 27发布:紧凑对象头、G1默认、量子安全TLS
ide·windows·git·svn·eclipse·github·visual studio