【发布时间】:2011-12-16 12:32:37
【问题描述】:
我的应用程序使用了一些 API,例如 GetProcAddress 和 CreateProcess,这有时会导致防病毒软件将其标记为恶意,即使它不是。
我要做的是检查特定的 API 是否正在被监视或挂钩,如果是,那么我不会调用那部分代码。
如何检查某个 API 是否被钩住?
这是一个用 C 编写的 Windows 应用程序。
谢谢。
【问题讨论】:
-
您将如何检查您的 API 监视器检测器是否已被钩住?
-
GetProcAddress和CreateProcess单独不应引发 AV 的任何标志。您是否正在使用CreateRemoteThread进行远程 dll 注入?如果是这种情况,您的函数的签名可能与恶意软件的签名匹配。 -
无 dll 注入和远程线程创建。这两个 API 在程序的不同部分做不同的事情。你知道如何检查 API 挂钩吗?
-
"...检查某个特定的 API 是否正在...",您说的是哪个 API?
-
没有可靠的方法来检查 API 是否已被钩住,因为钩住 API 的人可能也钩住了您的 API 检测器。