Есть ли способ отслеживать крючки на клавиатуре низкого уровня в среде Windows. Скажите, если я делаю программу, пытающуюся найти кейлоггеров.Мониторинг крюков низкого уровня [C]
ответ
Discussion about reading hooks
Проблема вы можете столкнуться, состоит в том, что есть вредоносные программы, которые не существуют как «процессы», которые вы можете перечислить легко.
Нет официального API для запроса установленных клавиатурных крючков. Поскольку MicroSoft не использует источник для Windows, вы должны установить клавиатурный крючок и один шаг на ассемблерный код, чтобы выяснить, где Windows сохраняет эту информацию. Затем вы можете написать драйвер устройства, который отслеживает эту область памяти для изменений.
> Нет официального API для запроса установленных клавиатурных крючков.
Да, есть. (вы слишком молоды, чтобы знать это ...)
Вы должны прочитать PEB.
Посмотреть на Win32 api Group , где был разобран весь исходный код для Windows (каждый апи незарегистрированной или нет)
Возможно, эта ссылка может быть более полезной: http://groups.google.com/group/comp.os.ms-windows.programmer.win32/topics –
Другая проблема заключается в том, что по крайней мере один кейлоггер работает, вводя себя в процессорной памяти клавиатуры и работает там. Почти невозможно обнаружить, и если сможете, вам нужно много узнать о том, как работают клавиатуры.
Резюме: Если у вас есть успех с этой задачей в любом случае, вы, вероятно, не будете охватывать все возможные кейлогеры. Боюсь, новости.
@arsane: Я пробовал, но ничего не мог найти для * монитора * крючков; официальный API только позволяет добавлять и удалять крючок, вы не можете получить список установленных крючков. Так вы можете дать мне запрос, который вы использовали, пожалуйста? –
Я думал, вы упомянули ключевой регистратор. Кажется, вы имеете в виду, как найти ключевых регистраторов, это очень трудно ответить на проблему. Вы можете взять это http://www.hellboundhackers.org/articles/155-the-art-of-keylogging-implementation-and-detection.html как начало, надеюсь, что это поможет. –