编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

监视64位应用程序和服务程序——APIMonitor

wxchong 2024-07-22 22:27:07 开源技术 37 ℃ 0 评论

API Monitor v2 (Alpha-r13) - x64 64-bit 是一款免费软件,允许您监视和控制应用程序和服务所做的 API 调用。它是一个强大的工具,可以让您看到应用程序和服务是如何工作的,或者帮助您追踪自己应用程序中的问题。64位支持

API Monitor 支持监视 64 位应用程序和服务。64 位版本只能用于监视 64 位应用程序,而 32 位版本只能用于监视 32 位应用程序。要在 64 位 Windows 上监视 32 位应用程序,您必须使用 32 位版本。请注意,API Monitor 的 64 位安装程序包括了 64 位和 32 位版本。摘要窗口显示了关于 API 调用的信息。这包括线程 ID 和进行 API 调用的 DLL 的名称,带有所有参数和返回值的语法高亮显示的 API 调用。如果 API 调用失败,也会显示有关错误的信息。

API Monitor 自带超过 13,000 个来自近 200 个 DLL 的 API 定义,以及来自 1,300 多个 COM 接口(Shell、Web 浏览器、DirectShow、DirectSound、DirectX、Direct2D、DirectWrite、Windows 成像组件、调试器引擎、MAPI 等)的超过 17,000 个方法。API 按类别和子类别组织(如 MSDN 中所指定)。API 捕获过滤器使您能够选择要监视的 API。

API Monitor 能够解码并显示 2000 种不同的结构和联合体、1000 多种枚举数据类型、800 多个标志。结构内的缓冲区和数组也可以查看。API Monitor 能够显示输入和输出缓冲区。显示的数据量是根据 API 的其他参数或从 API 返回值自动计算的。可以配置要捕获的数据的最大量。下面的截图显示了 ReadFile API 调用后的缓冲区。通过查看 API 调用执行后的 lpNumberOfBytesRead 的值来计算 lpBuffer 的长度。在这种情况下,返回的值是 174,这就是显示的缓冲区的长度。

API Monitor 显示一个调用树,展示了 API 调用的层级结构。下面的截图显示了一个 Visual Basic 应用程序加载 Microsoft Winsock ActiveX 控件时对 CoGetClassObject 的调用树。ActiveX 控件 MSWINSCK.OCX 从 DllMain 调用 WSAStartup 和 CreateWindowExA。

参数和返回值都可以以用户友好的格式显示。下面的第一张截图显示了正常视图,参数值按原样显示。第二张截图显示了解码后的参数值。对于 dwShareMode,当启用“解码参数值”选项时,API Monitor 显示 FILE_SHARE_DELETE | FILE_SHARE_READ 而不是 5。这个选项在参数面板和摘要面板中都可用。

API Monitor 包括一个内存编辑器,允许您在任何进程中查看、编辑和分配内存。内存编辑器还允许您更改内存区域的保护。在断点期间,可以使用内存编辑器查看和修改目标进程中的缓冲区。右键单击运行进程窗口中的任何进程或服务以启动内存编辑器。

当 API 调用失败时,API Monitor 可以调用适当的错误函数来检索有关错误的更多信息。支持 GetLastError、CommDlgExtendedError、WSAGetLastError 函数。此外,NTSTATUS 和 HRESULT 错误代码可以以友好的格式显示。在下面的截图中,API connect 调用失败。API Monitor 通过调用 WSAGetLastError 确定了错误代码,并以红色显示了错误代码和错误消息。

API Monitor 是一个强大的工具,适用于以下几个应用场景:

软件开发与调试:API Monitor 可以帮助开发人员监视和分析应用程序的 API 调用,以便调试和优化代码。它可以显示参数和返回值,并提供调用树以了解 API 的调用层次结构。开发人员还可以设置断点并修改参数来模拟不同的情况进行测试。

逆向工程与恶意软件分析:API Monitor 允许逆向工程师和安全研究人员监视恶意软件或未知应用程序的行为。它可以显示恶意软件的 API 调用,并帮助分析其功能和行为。通过查看输入输出缓冲区,可以获取有关恶意软件的更多信息。

学习和教育:API Monitor 是一个学习和教学工具,可以帮助学生和教师深入了解应用程序的工作原理和底层实现。通过观察和分析 API 调用,可以加深对软件开发和系统运行的理解。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表