在NT系列Windows操做系統中,惡意軟件能夠經過關聯Winlogon特定的事件來使自身被啓動,如Lock,Logoff,Logon,Shutdown,StartScreenSaver,StartShell,Startup,StopScreenSaver,Unlock等,這甚至可以使得惡意軟件在安全模式下被加載。WinLogon的通知事件在註冊表的位置是:html
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify |
當WinLogon.exe產生一個事件通知的時候,Windows會檢查註冊表裏面指定的DLL並調用DLL指定的導出函數。示例(當屏幕鎖定時調用WinLogonDemo.dll導出的LockFun函數):windows
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\Test] @="" "DLLName"="WinLogonDemo.dll" "Asynchronous"=dword:00000001 "Impersonate"=dword:00000001 "Lock"="LockFun" |
從Windows Vista開始,這項特性被取消了。能夠經過註冊一個服務來監聽相應的事件(部分事件不支持),參見Using Service Control Manager (SCM) Notifications安全
http://www.programlife.net/windows-nt-winlogon-notify.html函數