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
    )
相关推荐
5335ld4 小时前
uniapp-APP端table列表左侧第一列固定、头部固定
windows·uni-app
Zhou-XueLin4 小时前
虚拟环境(云主机)下使用多显示器环境连接RDP远程桌面提示协议错误0x112f需禁用WDDM驱动
windows·云计算
2501_941982055 小时前
界面自动化在企业微信外部群消息推送中的技术实现
windows
问简5 小时前
【无标题】
windows
- 总有一天你会出现在我身边5 小时前
windows版中间件启动
windows·中间件
cheniie6 小时前
Windows下c/c++使用pgsql
c++·windows·postgresql
恶猫6 小时前
EditPlus v6.1 Build 780 烈火汉化版
windows·编辑器·文本编辑器·editplus
qq_336313936 小时前
Java基础-Stream流
java·开发语言·windows
石像鬼₧魂石14 小时前
内网渗透靶场实操清单(基于 Vulhub+Metasploitable 2)
linux·windows·学习·ubuntu