Между прочим, технологии TDI уже скоро 20 лет будет, а до сих пор пойди ещё найди человека, который фильтр трафика нормальный написать может.
Функция RasDial() и иже с ними.
Во-первых, начиная с Vista немного изменился формат Control Area. Вот так, если не ошибаюсь: typedef struct _CONTROL_AREA { PVOID Segment;...
Код IRQL_NOT_LESS_OR_EQUAL не всегда означает то самое. Ещё одна не менее (если не более) распространённая причина - память невалидная. Ну т.е....
В момент вызова нотификатора - нет.
Анализ дампа выкладывай, чего гадать-то.
OpticalToxin А что есть тогда? Доступ к PCR есть хотя бы?
А, блин, так у тебя вообще доступа к API ядра нет, что ли?
Посмотри в сторону KeCapturePersistentThreadState(). Более подробно об этой функции есть, например, здесь.
Тонко.
Ну буткит напиши, например.
Может быть, стоит начать с официальной документации, не?
Зависит от того, где именно и в каком контексте тебе это нужно. Читай документацию уже, всё написано в MSDN, ссылку выше давал. Документация...
Ключ HKCU у каждого пользователя свой и находится в ключе \Registry\Users\{...}.
Например, функция RtlCreateRegistryKey() с флагом RTL_REGISTRY_USER.
Через DPC можно, вызов KeSetTargetProcessorDpc() тебе поможет.
Data Leak Prevention
Твой сервер работает на слишком высоком уровне (сокеты), драйвер же фаервола сидит несколькими уровнями ниже (NDIS) и не пропускает syn-пакеты...
Сисечки не забудь )
Нет, он не отошёл от дел. К слову, я бы посоветовал не верить слепо всему, что говорит TarasCo.
Имена участников (разделяйте запятой).