使用系统范围的钩子监视Windows API调用

flseospp  于 2023-02-05  发布在  Windows
关注(0)|答案(2)|浏览(232)

我正在尝试监控Windows API调用。我已经读到了它,发现没有比使用内核驱动程序更容易的方法来监控系统范围内的API调用。我想知道是否有其他方法来做这个系统范围内的?另外,如果有人知道一些教程如何使用内核驱动程序来监控API调用?
我已经看过微软的绕道和其他挂钩选项,但他们没有提供系统范围的挂钩。还有其他方法,只适用于user32.dll

a64a0gku

a64a0gku1#

可以访问所有进程和系统调用的内核驱动程序是监视系统范围的Windows API调用的一种方法。但是,还有其他方法,例如:

  • ETW(Windows事件跟踪)- ETW是一个高性能的事件跟踪框架,用于监视各种系统事件,包括API调用。
  • 性能监视计数器可以跟踪各种系统性能指标,如API调用计数和性能。
  • 内联挂钩-另一种监视API调用的技术是内联挂钩,它涉及重写API函数的前几条指令,以将执行重定向到自定义处理程序。

Windows驱动程序工具包(WDK)文档提供了有关在Windows中编写和部署内核驱动程序的综合指南,其中包含有关使用内核驱动程序监视API调用的教程。
必须注意的是,监视API调用可能会对安全造成影响,因为它需要访问系统级数据和函数。建议谨慎使用这些技术,并采取适当的安全措施。
以下是一些资源,您可以使用这些资源了解有关Windows API调用监视的更多信息:

这些资源应该为了解Windows API调用监视提供一个良好的起点。

hmae6n7t

hmae6n7t2#

关于使用ETW监视API调用的问题,默认情况下,系统可能不会发出某些API调用,必须手动启用。如果在ETW跟踪中找不到所需的API调用,请尝试将跟踪配置为包括公开所需API调用的事件的提供程序。若要从ETW中的加密提供程序获取输出,请执行以下操作:启用它并启动跟踪会话以收集提供程序发出的事件。以下是一些有关ETW和加密提供程序入门的联机参考:
Windows驱动程序工具包(WDK)- ETW:https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/etw/
MSDN -加密API:https://docs.microsoft.com/en-us/windows/win32/seccrypto/cryptoapi
MSDN -如何使用Windows事件跟踪(ETW)跟踪加密操作:https://docs.microsoft.com/en-us/windows/win32/etw/how-to-trace-cryptographic-operations-with-etw
代码项目-使用Windows事件跟踪(ETW)调试应用程序:https://www.codeproject.com/Articles/1000189/Using-Event-Tracing-for-Windows-ETW-to-Debug-App

相关问题