2016-12-07 3 views
-3

Задача, которую я должен сделать, - отключить док-станцию ​​Windows с помощью сочетания клавиш
(VK_RWIN или VK_LWIN + стрелка) в одном приложении.SetWindowsHookEx - проблема с антивирусом

Для этого я решил принудительно заблокировать виртуальные кнопки VK_RWIN и VK_LWIN в этом приложении.
Я использовал SetWindowsHookEx с обратным вызовом LowLevelKeyboardProc.
Я проверяю, активировано ли мое приложение через сообщение WM_ACTIVATEAPP.
Внутри обратного вызова, если приложение активно, я проверяю виртуальные ключи и возвращаю 1,
при нажатии VK_RWIN или VK_LWIN.
Работает идеально, как и ожидалось.

Теперь я просто задаюсь вопросом, могут ли антивирусы обнаружить такое использование как вредоносное ПО?

+2

Это, вероятно, слишком широк. Никто не знает всех эвристик для всех популярных антивирусных приложений. Привлечение других приложений, безусловно, можно считать подозрительным. Приобретение только собственного процесса, вероятно, не должно быть подозрительным, но кто знает, поймают ли все антивирусные приложения этот нюанс? Кажется очень странным, чтобы отключить эту функциональность. Диспетчер окон рабочего стола просто превращает его в размер и перемещает операцию в окне, которое пользователь может делать в любом случае. –

+0

А что, если приложение подписано цифровой подписью? – Kaczi

+0

Подписание приложения может или не может изменять поведение AV. Из собственного опыта я могу только сказать вам, что это не помогло. –

ответ

1

Да, определенно. Многие AV-программы (возможно, большинство) будут помечать ваше приложение как вредоносное ПО просто потому, что оно содержит вызов SetWindowsHookEx. Например, у меня есть код, который создает крючки для клавиатуры, и я должен исключить этот каталог из AV-сканера, потому что иначе он будет помещать в карантин мое приложение сразу после его создания. Это верно для всех трех продуктов AV, которые я использовал в последние годы.

И поскольку каждый продукт AV имеет свой собственный способ использования в белом списке, вам будет очень сложно заранее выяснить, какие пользователи должны будут использовать ваше приложение.

Смежные вопросы