码迷,mamicode.com
首页 > Windows程序 > 详细

API Monitor简介(API监控工具)

时间:2015-10-22 00:14:25      阅读:394      评论:0      收藏:0      [点我收藏+]

标签:

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

参考资料

API Monitor(API监控工具)

API Monitor官网

API Monitor简介(API监控工具)

标签:

原文地址:http://www.cnblogs.com/hbccdf/p/apimonitor_introduction.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!