С помощью DDK/WDK не только драйвера можно собирать.
Можно.
Ну тогда всё понятно, в этом случае объект драйвера не уничтожается после выхода из DriverEntry(), следовательно, антируткиты находят его без труда.
Ну так напиши, другим тоже интересно будет, полагаю.
Ну чудес-то не бывает. Значит где-нибудь всё таки сохраняется эта информация в системе, в недокументированных внутренних структурах каких-нибудь....
Ты не понял, что я сказал? Исходники FileMon'а плюс sfilter/FileSpy из WDK плюс документация, - это всё, что тебе нужно. А готовое или если сам не...
Для мониторинга процессов см. функцию PsSetCreateProcessNotifyRoutine(), исходник файлового фильтра есть в FileMon'е, правда, в старых версиях там...
А ты не думал, что они могут запоминать то, что было когда-то загружено?
Что-то явно нездоровая какая-то тема. Модераторы, ау.
Safe String Library Routines
"Почему" вопрос тут не самый интересный, потому как один хрен изменить это поведение возможным не представляется. А решить эту проблему можно, но...
Можно-то можно, и оно даже работать будет, но автору не подходит это, потому что тогда изменения коснутся всех процессов, и даже исполняемого...
В таком случае только ZwProtectVirtualMemory() тебя и спасёт. Адрес NtProtectVirtualMemory() можно взять из SDT, либо адрес...
Не экспортируется, можно через MDL.
Она недокументирована, её необходимо объявлять у себя в коде, само объявление без проблем найдёте в сети. Не изобретайте кривой велосипед вроде...
PsGetProcessImageFileName()
На всякий случай уточним: WorkItem'ы достаточно ценный системный ресурс. Не такой, конечно, как non-paged pool, но где-то близко. Короче говоря,...
В любом случае, стоит посмотреть в сторону других exception-related колбеков, пусть и недокументированных/неэкспортируемых.
Я не был бы так категоричен на твоём месте.
А ещё есть MmSetPageFaultNotifyRoutine(), которая этот указатель устанавливает, но не экспортируется, к сожалению. Впрочем, её адрес можно найти....
Имена участников (разделяйте запятой).