Хитрость заключается в том, что вирус подменяет системный файл userinit.exe, который требуется для инициализации пользователя в системе.
Настоящий userinit.exe, который находится в системной папке Windows (C:\Windows\System32\), переименовывается вирусом в userini.exe (без буквы “t”). Таким образом, на этапе инициализации пользователя система загружет вредоносный userinit.exe, т.к. вызов этого файла назначен в параметре UserInit ветки реестра (Пуск -> Выполнить -> regedit):
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon]
“UserInit” = “%System%\userinit.exe,”
Который в свою очередь совершает что-то нехорошее на компьютере и уже после своих черных дел запускает настоящий userinit, в данный момент переименованный в userini.exe (без буквы “t”).
Что происходит, когда антивирус обнаруживает файл вируса? Правильно, он его удаляет. И получается, что при следующей попытки входа в систему, файл userinit.exe не будет найден, а сеанс пользователя завершится так и не начавшись.
Если это произошло, необходимо вернуть настоящий файл userinit.exe, копия которого есть в папке: C:\WINDOWS\system32\dllcache. Понадобится загрузить компьютер с помощью загрузочной дискеты или диска, флешки, LiveCD или просто подключить жесткий диск к другому компьютеру. Если в этой папке оригинал отсутствует (добавлено: некоторые модификации вируса уже подкладывают в данную папку зараженный файл, поэтому…), необходимо его скопировать с установочного диска или с другого компьютера.
Добавлено в 2011. За полтора года мне повстречалось множество записей о всяческих разновидностях подобного вируса, который прописывает свой файл в Winlogon вместо userinit.exe – то есть, там указан файл вируса (имя файла может быть любое), который после отработки должен вызвать userinit.exe. Получается тоже самое, что и в примере выше: антивирус удаляет файл вируса и система не может начать сеанс, при том что настоящий userinit.exe может быть на своем месте и не быть испорченным. В таких случаях достаточно исправить значение параметра “UserInit” на
“C:\Windows\System32\userinit.exe,” (с запятой) в разделе реестра:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon.
Для этого можно воспользоваться диском LiveCD, на котором обычно присутствует утилита для редактирования реестра на гостевом компьютере.
Подытожим. Для нормального начала сеанса пользователя и загрузки рабочего стола необходимо выполнение двух условий:
1. Указанный в реестре файл userinit.exe в качестве инициализатора сеанса;
2. Наличие оригинального файла userinit.exe в системной папке Windows.