“getAsyncKeyState”是不是会触发防病毒程序 c++
Posted
技术标签:
【中文标题】“getAsyncKeyState”是不是会触发防病毒程序 c++【英文标题】:Does "getAsyncKeyState" trigger Anti-Virus programs c++“getAsyncKeyState”是否会触发防病毒程序 c++ 【发布时间】:2016-09-05 05:25:27 【问题描述】:我正在尝试为 Windows 的 OBS 编写插件,我需要处理按键事件,现在我看到 (1)two posts (2)where people 提到他们的防病毒软件捕获
#include <windows.h>
//...
if( GetAsyncKeyState( VK_UP ) & 0x8000 )
// the 'Up' arrow key is currently being held down
if( GetAsyncKeyState( 'A' ) & 0x8000 )
// the 'A' key is currently being held down
作为键盘记录器,有一个专门命名为的防病毒软件 - Kaspersky
这是真的吗,还有没有更多的杀毒程序在 GetAsyncKeyState 上触发,因为杀毒程序认为它是一个键盘记录器,如果是,有没有更好的方法来处理 c++ 中的按键事件?
【问题讨论】:
您是否测试过这些声明?它是免费下载和几行代码。大多数游戏/游戏引擎都使用此 API。 @RichardCritten 还没有,我正要为它创建一个测试dll 【参考方案1】:过分热心的防病毒软件可以检测到任何恶意内容。
GetAsyncKeyState() 检测可能是防病毒分层引擎的一部分,但该单一规则不太可能触发防病毒保护。您的二进制文件可能还有其他属性,与 GetASyncKeyState() 检测结合使用会触发警告。
仅出于这个原因触发防病毒软件会很奇怪,因为它是一个非常常见的 Windows API 函数。
请记住,防病毒软件经常更新,当检测到这些签名的问题时,误报会得到解决是正常的。
查看此插件的源代码以了解如何使用 OBS 插件处理输入input-overlay
【讨论】:
以上是关于“getAsyncKeyState”是不是会触发防病毒程序 c++的主要内容,如果未能解决你的问题,请参考以下文章