在C语言中监控Windows API调用

11

有没有办法在C语言中监控系统上的API调用?

5个回答

3

3

针对每个函数,您可以使用Microsoft Detours。它通过重写函数入口点指向您的代码来拦截API调用。


2
另一个值得关注的工具是Mark Russinovich的ProcessMonitor。但它并不能监视所有的API调用。

它使用自定义设备驱动程序。 - aib
是的,它这样做而不是将DLL注入到进程中,因为这样会引入更少的问题,并且对于被检查的进程来说更少侵入性。但是这意味着您需要比普通用户更多的特权才能运行它。 - RBerteig

2

Windows调试工具包含一个名为logexts.dll的调试器扩展,可以记录Win32 API函数调用。此外,还有一个独立的前端程序logger.exe可供使用,以便您不需要附加调试器。


1

虽然它不是免费的,但您可能想了解API Monitor。它可以记录到XML文件中,因此您可以通过在所选应用程序中读取此文件来确定已调用的API。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接