Центр справки и настройки Windows XP 3.8


Методы автозапуска


Итак, для запуска своей DLL нам необходимо создать в Winlogon\Notify раздел с произвольным именем. Обязательными параметрами этого раздела будут являться Asynchronous, DllName, Impersonate и один или несколько параметров отвечающих за событие при котором DLL будет загружена. Параметр Asynchronous (REG_DWORD) определяет тип вызова функций из DLL. При значении 0 функции будут вызываться из основного потока процесса winlogon.exe, и загрузка системы не сможет быть продолжена до тех пор, пока функция не вернет управление. При значении 1 функция будет вызвана асинхронно, в отдельном потоке, а, следовательно, она сможет никогда не возвращать управление системе. Параметр DllName определяет путь к загружаемой DLL. Если DLL находится в системной папке, то можно прописать только ее имя. Параметр Impersonate определяет права доступа потока, в котором будет вызвана наша функция. При значении 0 поток получит права системы, а при значении 1 - права пользователя, с которым связано произошедшее событие. Рассмотрим теперь типы событий и имена соответствующих им ключей в реестре.

Logon - событие входа пользователя в систему, его применение целесообразно тогда, когда требуется выполнять действия от имени пользователя.

Logoff - выход пользователя из системы.

ScreenSaver - запуск скринсейвера, следует применять тогда, когда нужно выполнять действия приводящие к большой загрузке системы (а, следовательно, заметные пользователю).

StopScreenSaver - завершение работы скринсейвера.

Shutdown - завершение работы системы, на это событие можно повесить сохранение каких-либо данных.

StartShell - запуск оболочки, происходит при старте explorer.exe. Обрати внимание, это событие не эквивалентно Logon, так как может быть вызвано несколько раз из за рестарта оболочки при возникающих сбоях.

PostShell – событие, возникающее после запуска оболочки.

Startup - старт системы, наверняка хакер будет использовать именно это событие для загрузки трояна. Следует заметить, функция повешенная на это событие будет всегда вызываться от имени системы, независимо от значения параметра Impersonate.

Lock - событие блокировки рабочей станции, оно возникает при смене пользователя без выхода из системы, либо при блокировке с помощью клавиш Win+L (Windows XP).

Назад на стр. 1  Содержание  Вперед на стр. 3




Начало  Назад  Вперед



Книжный магазин