监控 API 调用 [重复]

Posted

技术标签:

【中文标题】监控 API 调用 [重复]【英文标题】:Monitoring API calls [duplicate] 【发布时间】:2010-10-31 23:58:01 【问题描述】:

我正在做一些逆向工程,想知道从可执行文件中调用了哪些 API。我最感兴趣的是在特定 Windows 系统 DLL 上调用的 API。

我想一种方法是使用 dumpbin 从 DLL 中公开所有 API,并在 Windbg 中的所有 API 上设置断点。

还有其他方法吗?如果我需要监控许多系统 DLL,这似乎需要很多时间。

顺便说一句,我正在使用 Windows XP 并希望监视一个调用某些 Windows 系统 DLL 函数的可执行文件。

【问题讨论】:

没有好的工具可以做到这一点吗?我确信这不是一个罕见的要求。 【参考方案1】:

http://www.rohitab.com/apimonitor/

API Monitor 完全符合您的要求。但是,列出的 API 调用太多,分析起来非常困难。

这是一个可下载的screenshot。

【讨论】:

+1 是我在 api hooking 上遇到的最好的工具。谢谢。【参考方案2】:

我觉得你可以用dependancy walker

【讨论】:

dependency walker 静态列出依赖项。 最新版本在运行时动态分析DLL加载【参考方案3】:

使用 Win32 Kernel Hooking api,从 NT4 开始按序号导出 codeproject 'article' 完全过时了...

【讨论】:

我刚刚看了你的其他答案,我所看到的确实激发了完全的信心。【参考方案4】:

这篇涉及API hooking 的 CodeProject 文章可能对您有所帮助。

还有可用的工具,例如 APISpy32 或 SpyStudio。

【讨论】:

以上是关于监控 API 调用 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

多次 onReceive 使用会导致重复的 API 调用

如何正确调用此 api 并使用 fetch 从 api 获取新闻 [重复]

在 React 中以正确的方式进行同步 API 调用 [重复]

防止跨多个服务器重复 POST API 调用

从 Django 调用 Java API [重复]

使用 CLOcationManager (iOS) 监控 20 多个区域 [重复]