Win 2000/XP自啓動程序解析

 當Windows完成登錄過程,鼠標指針從繁忙到安靜,除桌面上的圖標,你還看到了什麼?也許表面沒什麼變化,但你有沒有注意到,你的系統托盤區多出了許多圖標,你的進程表中出現了很多的進程!Windows在啓動的時候,自動加載了很多程序,你知道它們是在什麼地方被加載的嗎?

  許多程序的自啓動,給我們帶來了很多方便,這是不爭的事實,但是否每個自啓動的程序對我們都有用呢?更甚者,也許有病毒或木馬在自啓動行列,而你卻不知!

  到現在,你是不是覺得了解自啓動文件的藏身之處有必要呢?那好,下面我就一一指出,讓它們無外可藏!

  其實Windows2000/XP中的自啓動文件,除了從以前系統中遺留下來的Autoexec.bat文件中加載外,按照兩個文件夾和9個核心註冊表子鍵來自動加載程序的。

  1)“啓動”文件夾--最常見的自啓動程序文件夾。它位於系統分區的“Documents and Settings-->User-->〔開始〕菜單-->程序”目錄下。這時的User指的是你登錄的用戶名。

  2)“All Users”中的自啓動程序文件夾--另一個常見的自啓動程序文件夾。它位於系統分區的“Documents and Settings-->All User-->〔開始〕菜單-->程序”目錄下。前面提到的“啓動”文件夾運行的是登錄用戶的自啓動程序,而“All Users”中啓動的程序是在所有用戶下都有效(不論你用什麼用戶登錄)。

  3)“Load”鍵值--一個埋藏得較深的註冊表鍵值。位於〔HKEY_CURRENT_USER/Software/Microsoft/Windows NT/CurrentVersion/Windows/load〕主鍵下。

  4)“Userinit”鍵值--它則位於〔HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/CurrentVersion/Winlogon/Userinit〕主鍵下,也是用於系統啓動時加載程序的。一般情況下,其默認值爲“userinit.exe”,由於該子鍵的值中可使用逗號分隔開多個程序,因此,在鍵值的數值中可加入其它程序。

  5)“Explorer/Run”鍵值--與“load”和“Userinit”兩個鍵值不同的是,“Explorer/Run”同時位於〔HKEY_CURRENT_USER〕和〔HKEY_LOCAL_MACHINE〕兩個根鍵中。它在兩個中的位置分別爲〔HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Policies/Explorer/Run〕和〔HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Policies/Explorer/Run〕下。

  6)“RunServicesOnce”子鍵--它在用戶登錄前及其它註冊表自啓動程序加載前面加載。這個鍵同時位於〔HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/RunServicesOnce〕和〔HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/RunServicesOnce〕下。

  7)“RunServices”子鍵--它也是在用戶登錄前及其它註冊表自啓動程序加載前面加載。這個鍵同時位於〔HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/RunServices〕和〔HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/RunServices〕下。

  8)“RunOnce/Setup”子鍵--其默認值是在用戶登錄後加載的程序。這個鍵同時位於〔HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/RunOnce/Setup〕和〔HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/RunOnce/Setup〕下。

  9)“RunOnce”子鍵--許多自啓動程序要通過RunOnce子鍵來完成第一次加載。這個鍵同時位於〔HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/RunOnce〕和〔HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/RunOnce〕下。位於〔HKEY_CURRENT_USER〕根鍵下的RunOnce子鍵在用戶登錄扣及其它註冊表的Run鍵值加載程序前加載相關程序,而位於〔HKEY_LOCAL_MACHINE〕主鍵下的Runonce子鍵則是在操作系統處理完其它註冊表Run子鍵及自啓動文件夾內的程序後再加載的。在Windows XP中還多出一個〔HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/RunOnceEX〕子鍵,其道理相同。

  10)“Run”子鍵--目前最常見的自啓動程序用於加載的地方。這個鍵同時位於〔HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Run〕和〔HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run〕下。其中位於〔HKEY_CURRENT_USER〕根鍵下的Run鍵值緊接着〔HKEY_LOCAL_MACHINE〕主鍵下的Run鍵值啓動,但兩個鍵值都是在“啓動”文件夾之前加載。

  11)再者就是Windows中加載的服務了,它的級別較高,用於最先加載。其位於〔HKEY_LOCAL_MACHINE/System/CurrentControlSet/Services〕下,看到了嗎,你所有的服務加載程序都在這裏了!

  12)Windows Shell──它位於〔HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/CurrentVersion/Winlogon/〕下面的Shell字符串類型鍵值中,基默認值爲Explorer.exe,當然可能木馬程序會在此加入自身並以木馬參數的形式調用資源管理器,以達到欺騙用戶的目的。

  13)BootExecute──它位於註冊表中〔HKEY_LOCAL_MACHINE/System/ControlSet001/Session Manager/〕下面,有一個名爲BootExecute的多字符串值鍵,它的默認值是"autocheck autochk *",用於系統啓動時的某些自動檢查。這個啓動項目裏的程序是在系統圖形界面完成前就被執行的,所以具有很高的優先級。

  14)策略組加載程序——打開Gpedit.msc,展開“用戶配置——管理模板——系統——登錄”,就可以看到“在用戶登錄時運行這些程序”的項目,你可以在裏面添加。在註冊表中[HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Group Policy Objects/本地User/Software/Microsoft/Windows/CurrentVersion/Policies/Explorer/Run]你也可以看到相對應的鍵值。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章