如何在特定进程上使用 API 监视器

逆向工程 调试 过程 接口
2021-06-15 10:39:56

我想用API Monitor监控特定进程,但我不明白我该怎么做。

我会很高兴理解这一点。

顺便说一下,我可以在使用 ida 调试时监控进程吗?

2个回答
  1. 启动 API Monitor(使用适合您的示例的正确架构)
  2. 设置您需要的 API 挂钩。这在很大程度上取决于您正在寻找什么。要查看您的 exe 通常使用哪些 API,您可以使用 ApiLogger ( https://www.aldeid.com/wiki/SysAnalyzer/ApiLogger ) 在此处输入图片说明

不要忘记在调用前设置断点

在此处输入图片说明

在我的示例中,我从 Kernel32.dll 对 VirtualAlloc 设置了一个过滤器

  1. 打开您要查看的示例: 在此处输入图片说明

如果您没有看到任何结果,您可能必须使用默认设置为“静态导入”的“附加使用”

  1. 运行您的示例,如果一切正常,您将达到断点,您可以 stat 编辑(和转储)相应的内存:

在此处输入图片说明

在此处输入图片说明

另一种选择(尽管在这种情况下不如 API Monitor 好)是使用 SysInternals 的Process Monitor它将(非常详细地)记录您的应用程序执行的所有活动。

Process Monitor 是 Microsoft 提供的免费工具,用于显示系统上的文件系统、注册表、进程和其他活动。它是解决 Windows 问题以及恶意软件取证和分析任务的宝贵工具。该工具的彻底性也是一个弱点,因为 Process Monitor 捕获的数据量很容易让分析师不知所措。

幸运的是,您可以过滤 Process Monitor 的输出,有些甚至创建了过滤器集,您可以下载并加载到 Process Monitor 中,从而节省您自己创建它们的时间。