注册表是启动程序藏身之处最多的地方,主要有以下几项:
1.Run键
Run键是病毒最青睐的自启动之所,该键位置是[HKEY_CURRENT_
USERSoftwareMicrosoftWindowsCurrentVersionRun]和[HKEY_
LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun],其下的所有程序在每次启动登录时都会按顺序自动执行。
还有一个不被注意的Run键,位于注册表[HKEY_CURRENT_
USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun]
和[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion
PoliciesExplorerRun],也要仔细查看。
2.RunOnce键
RunOnce位于[HKEY_CURRENT_USERSoftwareMicrosoftWindows
CurrentVersionRunOnce]和[HKEY_LOCAL_MACHINESoftwareMicrosoft
WindowsCurrentVersionRunOnce]键,与Run不同的是,RunOnce下的程序仅会被自动执行一次。
3.RunServicesOnce键
RunServicesOnce键位于[HKEY_CURRENT_USERSoftwareMicrosoft
WindowsCurrentVersionRunServicesOnce]和[HKEY_LOCAL_MACHINE
SoftwareMicrosoftWindowsCurrentVersionRunServicesOnce]下,其中的程序会在系统加载时自动启动执行一次。
4.RunServices键
RunServices继RunServicesOnce之后启动的程序,位于注册表[HKEY_CURRENT_USER
SoftwareMicrosoftWindowsCurrentVersionRunServices]和
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion
RunServices]键。
5.RunOnceEx键
该键是Windows XP/2003特有的自启动注册表项,位于[HKEY_
CURRENT_USER\SOFTWAREMicrosoftWindowsCurrentVersionRunOnceEx]和
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion
RunOnceEx]。
6.load键
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsNTCurrentVersionWindows]下的load键值的程序也可以自启动。
7.Winlogon键
该键位于位于注册表[HKEY_CURRENT_USERSOFTWARE
MicrosoftWindows NTCurrentVersionWinlogon]和[HKEY_LOCAL_MACHINE
SOFTWAREMicrosoftWindows
NTCurrentVersionWinlogon],注意下面的Notify、Userinit、Shell键值也会有自启动的程序,而且其键值可以用逗号分隔,从而实现登录的时候启动多个程序。
8.其他注册表位置
还有一些其他键值,经常会有一些程序在这里自动运行,如:[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesSystemShell]
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionShellServiceObjectDelayLoad]
[HKEY_CURRENT_USERSoftwarePoliciesMicrosoftWindowsSystemScripts]
[HKEY_LOCAL_MACHINESoftwarePoliciesMicrosoftWindowsSystemScripts]
小提示:
注册表的[HKEY_LOCAL_MACHINE]和[HKEY_CURRENT_USER]键的区别:前者对所有用户有效,后者只对当前用户有效。