C 检查API是否被监控(挂接?)
我的应用程序使用了一些API,如C 检查API是否被监控(挂接?),c,windows,winapi,hook,C,Windows,Winapi,Hook,我的应用程序使用了一些API,如GetProcAddress和CreateProcess,这些API有时会导致恶意用户将其标记为恶意,即使它不是 我试图做的是检查特定的API是否被监视或钩住,如果是,我就不会调用代码的这一部分 如何检查某个API是否已挂接 这是一个用C编写的Windows应用程序 谢谢。在win32上,没有检测和/或放置挂钩的官方方法(除了SetWindowsHookEx()()等只包含一小部分功能的函数) 检测钩子取决于钩子的应用方式 放置挂钩有两种常用方法: 导入/导出表修
GetProcAddress
和CreateProcess
,这些API有时会导致恶意用户将其标记为恶意,即使它不是
我试图做的是检查特定的API是否被监视或钩住,如果是,我就不会调用代码的这一部分
如何检查某个API是否已挂接
这是一个用C编写的Windows应用程序
谢谢。在win32上,没有检测和/或放置挂钩的官方方法(除了
SetWindowsHookEx()
()等只包含一小部分功能的函数)
检测钩子取决于钩子的应用方式
放置挂钩有两种常用方法:
有关检测如上所述放置的钩子的方法,请查看此处的“ApiHookCheck算法”。此页面上有我未测试的样本源。您如何检查API监视器检测器是否已挂接?
GetProcAddress
和CreateProcess
本身不应为AVs设置任何标志。您是否正在使用CreateRemoteThread
执行远程dll注入?如果是这种情况,函数的签名可能与恶意软件的签名匹配。没有dll注入,也没有远程线程创建。这两个API位于程序的不同部分,执行不同的操作。你知道如何检查API钩子吗?“…检查特定的API是否正在…”,你在说什么API?没有可靠的方法来检查API是否已经钩子,因为钩子API的人可能也钩住了你的API检测器。到ApiHookCheck算法的链接不再起作用。有人能提供一个很好的链接吗?@Benny:这可能是一个起点:@alk谢谢,我也发现了这个问题。如果它与您提到的APIhookCheck算法相似,请在您的答案中说明?