API Monitor简介(API监控工具)
阅读目录
API Monitor是一个免费软件,可以让你监视和控制应用程序和服务,取得了API调用。 它是一个强大的工具,看到的应用程序和服务是如何工作的,或跟踪,你在自己的应用程序的问题。
64位支持
API监控支持监控的64位应用程序和服务。 64位版本只能用来监视64位应用程序和32位版本仅可用于监测的32位应用程序。 要监视在64位Windows的32位应用程序,您必须使用32位版本。 请注意,64位安装程序的API监测包括64位和32位版本。
摘要视图与语法高亮
摘要窗口显示的API调用的信息。 这包括线程ID,并且作出API调用,与所有的参数和返回值的语法高亮API调用的DLL的名称。 如果API调用失败,也显示有关错误的信息。
13000 API定义,1,300多种COM接口
API显示器自带的API定义为超过13,000 API的几乎200 DLL的和超过17,000方法从1,300多种COM接口(Shell,Web浏览器,DirectShow,DirectSound,DirectX,Direct2D,DirectWrite,Windows图像处理组件,调试器引擎,MAPI等)。 API的被组织成类别和子类别(如MSDN中指定)。 该API捕获过滤器允许您选择的API进行监视。
结构,联合,枚举和标志
API Monitor可以解码和显示2000种不同的结构和联合,1000+枚举数据类型,800+标志。 数组内的结构,缓冲器和数组,也可以观看。
缓冲区查看
API监视器可以显示输入和输出缓冲区。 显示的数据的量是从其他参数的API,或从所述API返回值自动计算。 数据的被捕获的最大量是可配置的。 下面的屏幕截图显示了ReadFile的 API调用后缓冲区。 长度lpBuffer通过查看lpNumberOfBytesRead的值的API调用已经执行后计算。 在这种情况下,返回的值是174,这是所显示的缓冲区的长度。
调用树
API监测显示一个调用树,显示API调用的层次结构。 下面的屏幕截图显示了CoGetClassObject调用由Visual Basic应用程序加载微软的Winsock ActiveX控件打了一个调用树。 ActiveX控件MSWINSCK.OCX使得调用WSAStartup和CreateWindowExA从DllMain中。
解码参数和返回值
两个参数和返回值可以显示为一个用户友好的格式。 下面的第一张截图,为参数值正常观看。 第二个屏幕显示经解码的参数值。 对于dwShareMode,API监视器显示FILE_SHARE_DELETE | FILE_SHARE_READ,而不是5,当解码参数值启用选项。此选项无论在参数窗格和摘要窗格可用。
断点
API监视器可以让你通过API调用设置断点控制目标应用程序。 断点可以在API调用前被触发,在API调用后,在API故障,或如果API生成异常。 预调用断点允许你修改它们的参数传递给API之前,还是跳过API调用,并指定返回值和过去的错误代码。 后打电话错误断点允许你修改参数,返回值和过去的错误代码它们传递给调用者之前。 异常断点使你可以捕捉异常,以防止一个目标应用程序可能的崩溃。 全球断点也可以在API错误和异常引发的。 全部自动完成支持适用于所有支持枚举数据类型和标志。
监控,而无需创建定义
API监控器现在可以监控任何DLL任何API,而无需XML定义来创建的。 新添加的外部DLL筛选允许DLL的添加和一个根据需要去除。 一旦DLL被添加,过滤器的工作原理完全一样,捕获过滤器; 个别的API可以被选择用于监测和断点可以设置。 此外,可任意指定从它们这些API的捕获参数的数目。 外部DLL过滤器也可以保存到一个文件中,允许多个集的DLL的基于目标应用程序加载。
进程内存编辑器
API监测包括内存编辑器,可以让你查看,编辑和在任何过程中分配内存。 内存编辑器还允许您更改的内存区域的保护。 在一个断点,内存编辑器可用于在目标进程查看和修改缓冲区。 在运行过程中的窗口上的任何程序或服务右键单击启动内存编辑器。
调用过滤
API监控包括动态调用过滤功能,它允许您隐藏或显示基于一定的标准API调用。 超过25个不同的领域可以根据被过滤。 过滤可以用于,例如,发现时间超过50毫秒,以执行或以查看失败并返回错误代码2的Unicode API调用调用。
COM监控
API监视器支持监视COM接口。 下面的屏幕截图显示了DirectShow中取得的GraphEdit COM方法调用。
API监视器可以解码GUID的,IID的和REFIID的,并在人类可读的格式显示出来
解码错误代码
当API调用失败,API Monitor可以调用相应的错误函数来获取有关该错误的附加信息。 GetLastError函数,CommDlgExtendedError,于WSAGetLastError功能的支持。 此外,NTSTATUS和HRESULT错误代码可以显示在一个友好的格式。 在下面的截图中,API 连接失败。 API监视器确定的错误代码通过调用于WSAGetLastError并显示两个错误代码和红色的错误消息。
调用堆栈
API监视器可以让你捕获和查看每个API调用的调用堆栈。 下面的屏幕截图显示了NtCreateFile API调用堆栈。
多个布局选项
在此版本的图形用户界面已被完全写入,并提供了许多有用的功能。 一些预先定义的布局可供选择,但是,您可以选择创建自己的自定义布局。 该GUI分为可停靠窗口“API捕获过滤器”,“正在运行的进程”,“输出”,“参数”,“十六进制缓冲区”,“调用栈”和“上钩进程”。 每个这些窗口可以被设置为“对接”,“浮动”,“隐藏”或“自动隐藏”。
进程视图
正在运行的进程窗口显示正在运行的进程和服务,可以挂接的列表。 您也可以右键点击任何程序来启动内存编辑器。
服务监控
支持Windows服务的监控。 下面的屏幕截图显示,当一个文件被打印到Microsoft XPS文档作家的Print Spooler服务的呼叫。 请注意,以使监控的服务,您的用户帐户必须有足够的权限(在Vista及以后系统中管理员模式)。
自定义DLL监控
API监视器支持创建任何DLL定义。 定义XML格式创建
主题
带钩进程窗口显示先前上瘾或正在监视的进程。 不断扩大的过程中显示该进程中的所有线程。 标有“M”的线程是该进程的主线程。 标有“W”线程的工作线程。 不活动的主题是灰色的,并且还标有其图标的红色正方形。 每个线程显示线程ID,开始地址为线程。
要求
Windows 2000和Windows XP 32位的Windows XP 64位版x64,Windows Vista 32位版,Windows Vista 64位版x64,Windows 7 32位,Windows 7的64位x64 的Windows 8 32位,Windows 8的64位x64
下载
API Monitor v2 (Alpha-r13) - x86 32-bit - - 32-bit for Windows 2000, Server 2003, XP, Vista, Windows 7, Server 2008 and Windows 8
API Monitor v2 (Alpha-r13) - x64 64-bit - - 64-bit for Windows XP, Vista, Windows 7, Server 2008 and Windows 8 x64 (Includes 32-bit version)
API Monitor v2 (Alpha-r13) - Portable - - Portable - Runs without installing - 32-bit and 64-bit
参考资料
http://www.cnblogs.com/hbccdf/p/apimonitor_introduction.html