从用户模式到内核模式的Windows API跟踪

时间:2014-03-18 16:21:30

标签: windows debugging winapi kernel32

我想跟踪/记录从用户模式到内核模式的API调用的整个流程。 例如,如果用户模式应用程序调用FindFirstFile()API,我想记录以下内容:

FindFirstFile - > NtQueryDirectoryFile - > SYSCALL - > KiSystemService - > KiFastCallEntry - > NtQueryDirectoryFile - > IRP - > ...

今天是否有任何程序可以做到这一点? (Rohitab API Monitor可以执行用户模式API跟踪,但不能同时执行这两种操作)。 如果没有,开发这种能力的最优雅方式是什么?

2 个答案:

答案 0 :(得分:1)

由于ProcExplorer提供完整的线程跟踪,人们也可以这样做。 我发现这个网站解释了如何实现内核模式GetThreadContext()以完成堆栈图片(使用StackWalk64)。

http://blog.airesoft.co.uk/2009/02/grabbing-kernel-thread-contexts-the-process-explorer-way/#note1

答案 1 :(得分:0)

是的,你可以通过使用windbg来做到这一点 这是来自microsoft的程序,可以调试用户模式以及内核模式。

你可以从这里开始。

https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/getting-started-with-windbg

如果你想阅读这个并看到这样做的一些例子,你也可以在这里看到。

http://www.osronline.com/article.cfm?id=257

祝你好运:-)