Код:
NoHotfixUninstall=1
;Hook up WgaLogon.dll
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon, "Logon",0,"WLEventLogon"
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon, "Logoff",0,"WLEventLogoff"
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon, "Startup",0,"WLEventStartup"
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon, "Shutdown",0,"WLEventShutdown"
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon, "StartScreenSaver",0,"WLEventStartScreenSaver"
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon, "StopScreenSaver",0,"WLEventStopScreenSaver"
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon, "Lock",0,"WLEventLock"
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon, "Unlock",0,"WLEventUnlock"
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon, "StartShell",0,"WLEventStartShell"
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon, "PostShell",0,"WLEventPostShell"
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon, "Disconnect",0,"WLEventDisconnect"
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon, "Reconnect",0,"WLEventReconnect"
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon, "Impersonate",0x10001,1
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon, "Asynchronous",0x10001,0
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon, "SafeMode",0x10001,0
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon, "MaxWait",0x10001,0xFFFFFFFF
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon, "DllName",0x20000,"WgaLogon.dll"
HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon\Settings,,,
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%SP_SHORT_TITLE%,"NoRemove",0x10001,1
HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%SP_SHORT_TITLE%,"UninstallString",,""
Как видно из этого отрывка, стандартная папка для деинсталляции не создается, в реестр добавляется подраздел, обеспечивающий автозагрузку WgaLogon.dll при каждом запуске Windows. Дальнейшее поведение файла зависит от результата проверки подлинности. Если он положительный, WgaLogon.dll просто загружается, не выполняя никаких действий. Если он отрицательный, то выполняется перехват соответствующих событий Winlogon. При наступлении этих событий вызываются соответствующие функции, заложенные в библиотеку. Для снятия перехватов надо просто удалить подраздел реестра (выполнить десятый пункт инструкции MS). После перезагрузки средство уведомлений будет деактивировано. Также в реестре создается параметр NoRemove со значением 1, скрывающий кнопку Удалить в апплете Установка и удаление программ, а параметр UninstallString, где обычно указывается команда деинсталляции, пуст. Так Microsoft обеспечила