/ Windows / 46浏览

执行体方法通用格式定义

Windows 中方法的通用格式定义为:

<Prefix><Operation><Object>
  • Prefix:表示导出例程的内部组件
  • Operation:表示这个方法的行为,怎么操作对象或者资源
  • Object:标识要操作的对象或资源

常见的 Prefix:

PrefixComponent
AlpcAdvanced Local Procedure Calls
CcCommon Cache
CmConfiguration manager
CsrClient Server Runtime- communication with the Windows Subsystem process (Csrss.exe) functions.
DbgKernel debug support
DbgkDebugging Framework for user mode
EmErrata manager
EtwEvent Tracing for Windows
ExExecutive support routines
FsRtlFile System Runtime Library
HvHive library
HvlHypervisor library
IoI/O manager
KdKernel debugger
KeKernel
KseKernel Shim Engine
LsaLocal Security Authority
MmMemory manager
NtNT system services (accessible from user mode through system calls)
ObObject manager
PfPrefetcher
PoPower manager
PoFxPower framework
PpPnP manager
PpmProcessor power manager
PsProcess support
RtlRun-time library
SeSecurity Reference Monitor
SmStore Manager
TmTransaction manager
TpThread pool related functions
TtmTerminal timeout manager
VfDriver Verifier
VslVirtual Secure Mode library
WdiWindows Diagnostic Infrastructure
WfpWindows FingerPrint
WheaWindows Hardware Error Architecture
WmiWindows Management Instrumentation
ZwMirror entry point for system services (beginning with Nt) that sets previous access mode to kernel, which eliminates parameter validation, because Nt system services validate parameters only if previous access mode is user

Ntxxxx() 和 Zwxxxx() 的区别

用户模式下(ntdll.dll):

完全一致

内核模式下(ntoskrnl.exe):

  • NT 函数是存放在 SSDT 表中的,用来响应用户态的请求或者响应内核态 Zw 函数的请求,即无论走用户态路径还是内核态路径都是调用NT函数
  • Zw*->Nt*(Zw函数会调用Nt)
  • 内核应用只能调用 Zw*,不要直接调用 Nt*。Zw* 会自动设置 PreviousMode 为内核模式,就可以无需验证参数,直接调用。所以调用前最好提前检查好用户态传过来的参数。

参考:

Windows是如何区分互联网下载文件和本地文件的
Windows是如何区分互联网下载文件和本地文件的
如何低成本的获取到应用卡顿情况
如何低成本的获取到应用卡顿情况
【译】ETW 堆跟踪 – 每个分配都被记录
【译】ETW 堆跟踪 – 每个分配都被记录
【译】Wait Analysis – 寻找空闲时间
【译】Wait Analysis – 寻找空闲时间
如何通过 ETW Provider 来记录应用日志
如何通过 ETW Provider 来记录应用日志
如何通过 C++ 实时监听 ETW 事件
如何通过 C++ 实时监听 ETW 事件

0

  1. This post has no comment yet

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注