“getAsyncKeyState”是否会触发反病毒程序c ++

时间:2016-05-10 09:55:19

标签: c++ hotkeys antivirus

我正在尝试为OBS for Windows编写插件,我需要处理按键事件,现在我已经看过(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
}

作为键盘记录程序,有一个名为specificaly的反病毒 - Kaspersky

这是真的,是否有更多的反病毒程序触发GetAsyncKeyState,因为反病毒程序认为它是一个键盘记录器,如果有的话,有没有更好的方法来处理c ++中的按键事件? / p>

1 个答案:

答案 0 :(得分:0)

狂热的防病毒软件可以检测到任何恶意软件。

GetAsyncKeyState()检测可能是防病毒软件的hieuristic引擎的一部分,但该单一规则不太可能触发防病毒软件的保护。二进制文件中可能还有其他属性,这些属性与GetASyncKeyState()检测结合会触发警告。

仅由于这一原因,防病毒才触发是很奇怪的,因为它是Windows API函数,非常常见。

请注意,防病毒软件会经常更新,并且在检测到这些特征码问题时,解决误报是很正常的。

查看此插件的源代码,以了解如何处理OBS插件input-overlay

的输入