HKLM\Software\Microsoft\Windows\CurrentVersion\Run启动的。
msconfig(启动选项卡):
Autoruns 来自 SysInternals:
WhatInStartup 来自 NirSoft:
注意:
]12
至少有17个位置可以启动程序。请参见下文。
HelpingHand指出,在64位计算机上,有两个位置:Upon turning on the computer the following autostart locations are processed in the following order:
Windows Boot Device Drivers
- These drivers are loaded first as they are required for the proper operation of hardware such as storage devices.
- Boot device drivers will be located under the following key and have a Start value equal to 0.
Registry Keys:HKEY_LOCAL_MACHINE\System\CurrentControlSet\ServicesWindows will now perform various tasks and then start the Winlogon process. Winlogon eventually starts the service control manager that loads services and drivers that are set for auto-start.
Windows Auto-start Services & Drivers
- The Service Control Manager (SCM) process (\Windows\System32\services.exe), will now launch any services or drivers that are marked with a Start value of 2.
Registry Keys:HKEY_LOCAL_MACHINE\System\CurrentControlSet\ServicesRunServicesOnce
- This key is designed to start services when a computer boots up.
- These entries can also continue running even after you log on, but must be completed before the HKEY_LOCAL_MACHINE...\RunOnce registry can start loading its programs.
Registry Keys:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnceRunServices
- This key is designed to start services as well.
- These entries can also continue running even after you log on, but must be completed before the HKEY_LOCAL_MACHINE...\RunOnce registry can start loading its programs.
Registry Keys:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesThe Windows logon prompt is shown on the Screen. After a user logs in the rest of the keys continue.
Notify
- This key is used to add a program that will run when a particular event occurs.
- Events include logon, logoff, startup, shutdown, startscreensaver, and stopscreensaver.
- When Winlogon.exe generates an event such as the ones listed, Windows will look in the Notify registry key for a DLL that will handle this event.
- Malware has been known to use this method to load itself when a user logs on to their computer. Loading in such a way allows the malware program to load in such a way that it is not easy to stop.
Registry Key:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\NotifyUserInit Key
- This key specifies what program should be launched right after a user logs into Windows.
- The default program for this key is C:\windows\system32\userinit.exe. Userinit.exe is a program that restores your profile, fonts, colors, etc for your user name.
It is possible to add further programs that will launch from this key by separating the programs with a comma. For example:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit =C:\windows\system32\userinit.exe,c:\windows\badprogram.exe.
This will make both programs launch when you log in and is a common place for trojans, hijackers, and spyware to launch from. Registry Key:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\UserinitShell Value
- This value contains a list of comma separated values that Userinit.exe will launch.
- The default shell for Windows is explorer.exe, though there are legitimate replacements that have been made. When userinit.exe starts the shell, it will first launch the Shell value found in HKEY_CURRENT_USER. If this value is not present, it will then launch the value found in HKEY_LOCAL_MACHINE.
Registry Key:HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\\Shell HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\\ShellThe rest of the Autostart locations will now be processed.
RunOnce Local Machine Key
- These keys are designed to be used primarily by Setup programs.
- Entries in these keys are started once and then are deleted from the key.
- If there is an- exclamation point preceding the value of the key, the entry will not be deleted until after the program completes, otherwise it will be deleted before the program runs. This is important, because if the exclamation point is not used, and the program referenced in this key fails to complete, it will not run again as it will have already been deleted.
- All entries in this key are started synchronously in an undefined order.
- Due to this, all programs in this key must be finished before any entries in HKEY_LOCAL_MACHINE...\Run, HKEY_CURRENT_USER...\Run, HKEY_CURRENT_USER...\RunOnce, and Startup Folders can be loaded.
- The RunOnce keys are ignored under Windows 2000 and Windows XP in Safe Mode. The RunOnce keys are not supported by Windows NT 3.51.
Registry Keys:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceExRun
- These are the most common startup locations for programs to install auto start from.
- By default these keys are not executed in Safe mode. If you prefix the value of these keys with an asterisk, *, it will run in Safe Mode.
Registry Keys:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunAll Users Startup Folder
- For Windows XP, 2000, and NT, this folder is used for programs that should be auto started for all users who will login to this computer.
It is generally found at:
Windows XP
C:\Documents and Settings\All Users\Start Menu\Programs\StartupWindows NT
C:\wont\Profiles\All Users\Start Menu\Programs\StartupWindows 2000
C:\Documents and Settings\All Users\Start Menu\Programs\StartupUser Profile Startup Folder
- This folder will be executed for the particular user who logs in.
This folder is usually found in:
- Win 9X, ME
c:\windows\start menu\programs\startup- Windows XP
C:\Documents and Settings\LoginName\Start Menu\Programs\StartupRunOnce Current User Key
- These keys are designed to be used primarily by Setup programs.
- Entries in these keys are started once and then are deleted from the key.
- If there is an exclamation point preceding the value of the key, the entry will not be deleted until after the program completes, otherwise it will be deleted before the program runs. This is important, because if the exclamation point is not used, and the program referenced in this key fails to complete, it will not run again as it will have already been deleted.
- The RunOnce keys are ignored under Windows 2000 and Windows XP in Safe Mode.
- The RunOnce keys are not supported by Windows NT 3.51.
Registry Key:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnceExplorer Run
- These keys are generally used to load programs as part of a policy set in place on the computer or user.
Registry Keys:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\RunLoad Key
- This key is not commonly used anymore, but can be used to auto start programs.
Registry Key:HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\loadAppInit_DLLs
- This value corresponds to files being loaded through the AppInit_DLLs Registry value.
- The AppInit_DLLs registry value contains a list of dlls that will be loaded when user32.dll is loaded.
- As most Windows executables use the user32.dll, that means that any DLL that is listed in the AppInit_DLLs registry key will be loaded also. This makes it very difficult to remove the DLL as it will be loaded within multiple processes, some of which can not be stopped without causing system instability.
- The user32.dll file is also used by processes that are automatically started by the system when you log on. This means that the files loaded in the AppInit_DLLs value will be loaded very early in the Windows startup routine allowing the DLL to hide itself or protect itself before we have access to the system.
Registry Key:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows引用64位DLL文件HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Windows引用32位DLL文件。注册表键:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad
17. SharedTaskScheduler
注册表键:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\SharedTaskScheduler
18. 其他
以下是程序可以在启动时从中自动启动的文件:
源代码 Windows程序自动启动位置
我与SysInternals、Nirsoft或WinPatrol没有任何关联,我只是软件的最终用户。