Потенциально возможен вариант перехвата клавиш с помощью драйвера,который правит GIDT/LIDT. 1. Каким по реализации видится вам подобный кейлоггер 2. Главный вопрос: как можно определить наличие такого кейлоггера в системе? В идеале - из юзермода. Благодарю.
SomeOne_TT Что такое GIDT/LIDT ? Я знаю GDT IDT и LDT, но про GIDT что-то не слышал Такой кейлогер даже не стоит делать, так как палиться он с полпинка, да и гиморно будет отследить в каком окне набивался текст. Есть куда более простые и незаметные способы кернелмодного кейлогинга. Достаточно просмотреть вектора прерываний в IDT, они обычно указывают в ntoskrnl.exe/hal.dll, если они указывают в какой-то левый драйвер, то значит ахтунг. \Device\PhisicalMemory
Опишите,пожалуйста, эти самые "другие, простые и незаметные" способы? P.S. sidt доступна для вызова из юзермода? P.P.S. под гидт и лидт я имел в виду глобальные и локальные таблицы прерываний ) Благодарю.
Установка хуков на GDI функции через SDT. Сплайсинг кода обработчиков прерываний, драйвера клавиатуры либо функций win32k.sys осуществляющих обработку сообщений. Перехват сообщений из потоков raw input в процессе csrss.exe, перехват функций связанных с получением/обработкой сообщений в юзермоде. Если немного подумать, то к этому списку еще многое можно добавить... Да, но lidt не доступна.