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
    )
相关推荐
2601_962364971 分钟前
企业 PC 安全升级,Windows Hello 商用生物识别模组介绍
windows·安全
2501_916007472 小时前
Windows OpenSSL 生成 iOS 证书,制作 p12 与描述文件,KXBuild 签名实操
windows·vscode·ios·objective-c·个人开发·swift·敏捷流程
椒颜皮皮虾྅4 小时前
模型部署不再卡在环境上:DeploySharp 四大推理引擎与 Windows/Linux 离线交付实战
linux·运维·开发语言·人工智能·windows·计算机视觉·cuda
昂好的day5 小时前
C# 同步异步与多线程:Thread / Task / 线程池一次讲透(上篇)
开发语言·windows·c#
垆边人似月.5 小时前
Ubuntu 配置 Samba 共享文件夹并映射到 Windows 完整指南
linux·windows·ubuntu
BIBI204916 小时前
换 Git 托管平台怎么做?基于 TortoiseGit 的跨平台迁移教程
windows·git·tortoisegit·问题解决·版本控制·最佳实践
chushiyunen17 小时前
autoHotKey、windows自动化快捷键工具
运维·windows·自动化
燃烧的枫18 小时前
Windows 下 YOLO11 Det 的 TensorRT C++ 部署
pytorch·windows·tensorrt·关键点识别·yolo11
猪八宅百炼成仙19 小时前
让 AI 帮你清理电脑而不翻车:一个 Windows 体检调优 Skill 的工程化设计
人工智能·windows
鱼宵20 小时前
取集合第一个元素,Java 为什么要写三种写法?
java·windows·python·java21