步骤 1
启动 API 监视器。在本教程中,我们将使用 64 位版本,但 32 位版本也可以正常工作。
步骤 2
选择要监控的 API。在本教程中,我们将监控CreateFileA、CreateFileW和NtCreateFile。我们将使用查找功能来定位这些 API。单击API 捕获过滤器窗口中的某个位置,然后按CTRL+F或从菜单中选择编辑->查找。输入CreateFile并单击查找下一个按钮。单击 API 名称旁边的复选框以启用它。启用所有三个 API 后,继续执行步骤 3。
步骤 3
现在我们需要选择要监控的应用程序。您可以从菜单中选择文件->挂钩进程,或者单击挂钩进程窗口中的挂钩新进程按钮。
步骤 4
这将打开「挂钩进程」对话框。单击「进程」的「浏览」图标并找到 notepad.exe。在「参数」下,输入不存在的文件的名称。「起始目录」会自动填写,无需更改。
步骤 5
单击确定按钮。这将启动记事本,并显示一个消息框,指示找不到该文件。关闭消息框并退出记事本。
步骤 6
Summary窗口现在应该列出Notepad所做的 API 调用。如下面的屏幕截图所示,Notepad 调用kernel32.dll中的CreateFileW ,后者又调用NtCreateFile。该视图还显示返回值和错误代码。在本例中,NtCreateFile返回STATUS_OBJECT_NOT_FOUND,这导致kernel32.dll向Notepad返回INVALID_HANDLE_VALUE并设置Error 2。