Windows程序自启动原理
在Windows操作系统下,主要有2个文件夹和8个注册表键项控制程序的自启动,下面主要介绍这2个文件夹和8
个注册表项:
1.用户专用启动文件夹-——最常见的自启动程序文件夹,它位于系统分区盘下,路径为:
系统盘:\\Dcoument and Setting\<用户名称>\开始\程序\启动,它是针对用户来使用的。
2.所有用户启动文件夹——另外一个常见自启动程序文件夹,它位于系统分区盘下,路径为:
系统盘:\\Dcoument and Setting\ALL USER\开始\程序\启动,而该文件夹是针对所有的用户,都会启动。
3.LOAD注册键:
位于:[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\load]
描述:一般埋藏的比较深的注册表项
4.USERINIT注册键:
位于:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit]
描述:<1>一般情况下其默认值为“userinit.exe”,由于该子键的值中可用使用逗号分隔开多个程序,所以
在键值的数值中可以加入其它程序,系统启动时加载程序的。
5.EXPLORER\RUN注册键:
位于: [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]
描述:它同时存在于HKEY_CURRENT_USER和HKEY_LOCAL_MACHINE根键中
6.RUNSERVICESONVE注册键:
位于:[HKEY_CURRENT_USER\Softvvare\Mcrosoft\Windows\CurrentVersion\RunServicesOnce]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce]
描述:同时存在于HKEY_CURRENT_USER和HKEY_LOCAL_MACHINE根键中
在用户登录前,以及其他注册键启动前启动服务
7.RUNSERVICES注册键:
位于:[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices]
描述:紧跟在Runservicesonce之后,在用户登录之前启动
8.RUNONCE\STEUP注册键:
位于:[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\Setup]
描述:用户登录后,启动程序或者服务
9.RUNONCE注册键:
位于:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce]
[HEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]
描述:位于[HKEY_LOCAL_MACHINE]根键下的“RunOnce”子键在用户登录后及其它注册表的Run键值加载程序前加
载相关联的程序
位于[HKEY_CURRENT_USER]根键下的“RunOnce”子键在操作系统处理完其它注册表Run子键及自启动文件
夹内的程序后再加载
系统为Windows XP,[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx]
中找到这个子键
10.RUN注册键:
位于:[HKEY_CURRENT_USER\Softvvare\Microsoft\Windows\CurrentVersion\Run]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
描述: [HKEY_CURRENT_USER]根键下的“Run”键值紧接着[HKEY_LOCAL_MACHINE]下的“Run”键值运行,但两个键
值都在“启动”文件夹之前加载