C++ 如何验证CreateToolhelp32Snapshot()是否正在使用NtQuerySystemInformation?

C++ 如何验证CreateToolhelp32Snapshot()是否正在使用NtQuerySystemInformation?,c++,winapi,C++,Winapi,我听说CreateToolhelp32Snapshot(),enumprocess()和Windows TaskManager都在使用未记录的NtQuerySystemInformation函数 我有什么办法可以证实这一点吗?我正在寻找一种工具,它可以向我展示程序所做的所有底层api调用。有一个名为的项目,它主要是Windows的反向工程CreateToolhelp32Snapshot及其freinds可在文件中找到: 它实际上调用了此链中的NtQuerySystemInformation: C

我听说
CreateToolhelp32Snapshot()
enumprocess()
和Windows TaskManager都在使用未记录的
NtQuerySystemInformation
函数

我有什么办法可以证实这一点吗?我正在寻找一种工具,它可以向我展示程序所做的所有底层api调用。

有一个名为的项目,它主要是Windows的反向工程
CreateToolhelp32Snapshot
及其freinds可在文件中找到:

它实际上调用了此链中的
NtQuerySystemInformation

CreateToolhelp32Snapshot
  |
TH32CreateSnapshot
  |
NtQuerySystemInformation
至于
枚举进程
(和):

或使用拆装器,IDA:


然而,和ReactOS的可能复制品是Windows的洁净室反向工程。因此,尽管它努力实现相同的功能,但您不能假设它的实现方式与Windows本身完全相同。这是对这个问题的部分回答。实际上,您可以通过
NtQuerySystemInformation
实现
CreateToolhelp32Snapshot
,但这并不意味着Windows可以实现。@CodyGray可以使用反汇编程序,ReactOS可以节省时间。无论如何,这两个函数都会调用
NtQuerySystemInformation
,尽管路径不同。
CreateToolhelp32Snapshot
  |
TH32CreateSnapshot
  |
NtQuerySystemInformation
EnumProcesses
  |
PsaEnumerateProcesses
  |
PsaEnumerateProcessesAndThreads
  | 
PsaCaptureProcessesAndThreads
  |
NtQuerySystemInformation