SetWindowsHookEx - 防病毒问题
Posted
技术标签:
【中文标题】SetWindowsHookEx - 防病毒问题【英文标题】:SetWindowsHookEx - antivirus issue 【发布时间】:2016-12-07 16:27:52 【问题描述】:我要做的任务是从键盘快捷键禁用窗口停靠 (VK_RWIN 或 VK_LWIN + 箭头)在单个应用程序中。
为此,我决定在此应用程序中完全阻止 VK_RWIN 和 VK_LWIN 虚拟按钮。 我已将 SetWindowsHookEx 与 LowLevelKeyboardProc 回调一起使用。 我正在检查我的应用程序是否已通过 WM_ACTIVATEAPP 消息激活。 在回调内部,如果应用程序处于活动状态,我将检查虚拟键并返回 1, 当按下 VK_RWIN 或 VK_LWIN 时。 正如预期的那样完美运行。
现在,我只是想知道防病毒软件是否可以检测到恶意软件之类的使用?
【问题讨论】:
这可能有点太宽泛了。没有人知道所有流行的反恶意软件应用程序的所有启发式方法。挂钩其他应用程序肯定会被认为是可疑的。只挂钩你自己的进程可能不应该是可疑的,但谁知道是否所有的反恶意软件应用程序都能捕捉到这种细微差别?想要禁用此功能似乎很奇怪。桌面窗口管理器只是把它变成对窗口的大小和移动操作,用户无论如何都可以做。 如果应用程序经过数字签名怎么办? 签署应用程序可能会也可能不会修改 AV 行为。根据我自己的经验,我只能告诉你它没有帮助。 【参考方案1】:是的,当然。许多 AV 软件(可能是大多数)会将您的应用程序标记为恶意软件,因为它包含对 SetWindowsHookEx 的调用。例如,我有一些创建键盘挂钩的代码,我必须从 AV 扫描仪中排除该目录,否则它会在我构建它时立即隔离我的应用程序。我近年来使用的所有三种 AV 产品都是如此。
而且由于每个 AV 产品都有自己的应用程序白名单方式,因此您很难提前弄清楚用户必须做什么才能使用您的应用程序。
【讨论】:
【参考方案2】:对您的应用程序进行数字签名,以免触发 AV 软件。
【讨论】:
以上是关于SetWindowsHookEx - 防病毒问题的主要内容,如果未能解决你的问题,请参考以下文章