定义了10000多个API和800多个COM接口
API Monitor带有来自172个DLL中超过10000个API的定义和来自900多个COM接口的7000个方法(Shell, Web Browser, DirectShow, DirectSound,DirectXDirect2D, DirectWrite, Windows Imaging Component, MAPI等等 ).
这些API被成各种不同的类和子类(和MSDN里的一样).API捕获过滤器允许选择要进行监视的API。
结构体
API Monitor 可以解码结构体信息并把它显示出来,同时还可以查看结构体里的枚举数据,标志和缓冲区.
COM监视
API Monitor支持监视COM接口.下面的截图显示了由DirectShow GraphEdit产生生的COM方法调用.
API Monitor还能解码GUID,IID和REFIID并且以一种容易读懂的格式显示出来.
缓冲区视图
API Monitor可以同时显示输入和输入缓冲区.显示的数据大小是从传递给API的参数或者API的返回值自动计算出来的.最大能显示的数据大小我们是可以自己配置的.
下面的截图显示了从ReadFile这个API调用返回后的缓冲区.其中lpBuffer的长度是在API调用完毕后通过读取返回到lpNumberOfBytesRead 的值来计算出来的.
在这里,返回的值174就是缓冲区所显示的长度.
断点
API Monitor 可以允许你通过对API设置断点的方式来控制目标进程。断点可以设置为在API调用前、调用后,在API调用失败或者产生异常时触发。
调用前触发断点使得你可以在调用API前对其参数进行修改或者跳过此API调用并且自己指定调用的返回值和最后一次错误代码。
调用后和错误时触发断点使得你可以在函数返回到调用处前修改其参数、返回值和最后一次错误代码。异常时断点使得你可以捕获到程序的异常来避免目标进程崩溃。
全局断点也可以在API调用错误和异常时触发。对于枚举型数据和标志都完美支持全自动。
调用树
API Monitor会显示一个可以展示出API调用层次结构的调用树.下面的截图显示了一个在64位Vista的notepad.exe 产生的 CoInitializeEx 调用的调用树.
Version 1.5
2001.7.1
Version 1.4
2000.12.8
Version 1.31
2000.11.6
Version 1.3
2000.8.18
Version 1.2
2000.8.10
Version 1.1
2000.7.17
Version 1.0
2000.6.16