啟動項目:
自啟動程式 ShellServiceObjectDelayLoad
ShellServiceObjectDelayLoad
ShellServiceObjectDelayLoad是一個未公佈的註冊表項,可以將元件關聯到這個鍵,這樣一來,系統啟動時間EXPLORER將自動載入目標元件.
這就是某些病毒將自己注射到EXPLORER的辦法.
我們經常會遇到這樣的事情,IeXPLORER的首頁設置為BLANK,註冊表RUN鍵的值也為空,但就是每隔一會兒有莫名其妙的網頁自動彈出,這就是ShellServiceObjectDelayLoad在搞鬼。
O21 - 註冊表鍵 ShellServiceObjectDelayLoad (SSODL)處的自啟動項
揪出自啟動程式 [轉]
一、經典的啟動——“啟動”檔夾
單擊“開始→程式”,你會發現一個“啟動”功能表,這就是最經典的Windows啟動位置,右擊“啟動”功能表選擇“打開”即可將其打開,如所示,其中的程式和快捷方式都會在系統啟動時自動運行。最常見的啟動位置如下:
當前用戶:<C:\Documents and Settings\用戶名\「開始」功能表\程式\啟動>
所有用戶:<C:\Documents and Settings\All Users\「開始」功能表\程式\啟動>
二、有名的啟動——註冊表啟動項
註冊表是啟動程式藏身之處最多的地方,主要有以下幾項:
1.Run鍵
Run鍵是病毒最青睞的自啟動之所,該鍵位置是[HKEY_CURRENT_
USER\Software\Microsoft\Windows\CurrentVersion\Run]和[HKEY_
LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run],其下的所有程式在每次啟動登錄時都會按順序自動執行。
還有一個不被注意的Run鍵,位於註冊表[HKEY_CURRENT_
USER \Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]和 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
Policies\Explorer\Run],也要仔細查看。
2.RunOnce鍵
RunOnce位於[HKEY_CURRENT_USER\Software\Microsoft\Windows\
CurrentVersion\RunOnce]和[HKEY_LOCAL_MACHINE\Software\Microsoft\
Windows\CurrentVersion\RunOnce]鍵,與Run不同的是,RunOnce下的程式僅會被自動執行一次。
3.RunServicesOnce鍵
RunServicesOnce鍵位於[HKEY_CURRENT_USER\Software\Microsoft\
Windows\CurrentVersion\RunServicesOnce]和[HKEY_LOCAL_MACHINE\
Software\Microsoft\Windows\CurrentVersion\RunServicesOnce]下,其中的程式會在系統載入時自動啟動執行一次。
4.RunServices鍵
RunServices繼RunServicesOnce之後啟動的程式,位於註冊表[HKEY_CURRENT_USER \Software\Microsoft\Windows\CurrentVersion\RunServices]和 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\
RunServices]鍵。
5.RunOnceEx鍵
該鍵是Windows XP/2003特有的自啟動註冊表項,位於[HKEY_
CURRENT_USER \\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx]和 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ RunOnceEx]。
6.load鍵
[HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows]下的load鍵值的程式也可以自啟動。
7.Winlogon鍵
該鍵位於位於註冊表[HKEY_CURRENT_USER\SOFTWARE\
Microsoft\Windows NT\CurrentVersion\Winlogon]和[HKEY_LOCAL_MACHINE\
SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon],注意下面的Notify、Userinit、Shell鍵值也會有自啟動的程式,而且其鍵值可以用逗號分隔,從而實現登錄的時候啟動多個程式。
8.其他註冊表位置
還有一些其他鍵值,經常會有一些程式在這裏自動運行,如:[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\Shell]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoad]
[HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\Scripts]
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\System\Scripts]
小提示
註冊表的[HKEY_LOCAL_MACHINE]和[HKEY_CURRENT_USER]鍵的區別:前者對所有用戶有效,後者只對當前用戶有效。
三、古老的啟動——自動批次檔案
從DOS時代過來的朋友肯定知道autoexec.bat(位於系統盤根目錄)這個自動批次檔案,它會在電腦啟動時自動運行,早期許多病毒就看中了它,使用deltree、format等危險命令來破壞硬碟資料。如“C盤殺手”就是用一句“deltree /y c:\*.*”命令,讓電腦一啟動就自動刪除C盤所有檔,害人無數。
小提示
★在Windows 98中,Autoexec.bat還有一個哥們——Winstart.bat文件,winstart.bat位於Windows檔夾,也會在啟動時自動執行。
★在Windows Me/2000/XP中,上述兩個批次檔案默認都不會被執行。
四、常用的啟動——系統配置檔
在Windows的配置檔(包括Win.ini、System.ini和wininit.ini檔)也會載入一些自動運行的程式。
1.Win.ini文件
使用“記事本”打開Win.ini檔,在[windows]段下的“Run=”和“LOAD=”語句後面就可以直接加可執行程式,只要程式名稱及路徑寫在“=”後面即可。
小提示
“load=”後面的程式在自啟動後最小化運行,而“run=”後程式則會正常運行。
2.System.ini文件
使用“記事本”打開System.ini文件,找到[boot]段下“shell=”語句,該語句默認為“shell=Explorer.exe”,啟動的時候運行Windows外殼程式explorer.exe。病毒可不客氣,如“妖之吻”病毒乾脆把它改成“shell=c:\yzw.exe”,如果你強行刪除“妖之吻”病毒程式yzw.exe,Windows就會提示報錯,讓你重裝Windows,嚇人不?也有客氣一點的病毒,如將該句變成 “shell=Explorer.exe 其他程式名”,看到這樣的情況,後面的其他程式名一定是病毒程式如所示。
3.wininit.ini
wininit.ini檔是很容易被許多電腦用戶忽視的系統配置檔,因為該檔在Windows啟動時自動執後會被自動刪除,這就是說該檔中的命令只會自動執行一次。該配置檔主要由軟體的安裝程式生成,對那些在Windows圖形介面啟動後就不能進行刪除、更新和重命名的檔進行操作。若其被病毒寫上危險命令,那麼後果與“C盤殺手”無異。
小提示
★如果不知道它們存放的位置,按F3鍵打開“搜索”對話方塊進行搜索;
★單擊“開始→運行”,輸入sysedit回車,打開“系統配置編輯程式”,如圖2所示,在這裏也可以方便的對上述檔進行查看與修改。
五、智能的啟動——開/關機/登錄/註銷腳本
在Windows 2000/XP中,單擊“開始→運行”,輸入gpedit.msc回車可以打開“組策略編輯器”,在左側窗格展開“本地電腦策略→ 用戶配置→管理範本→系統→登錄”,然後在右窗格中雙擊“在用戶登錄時運行這些程式”,單擊“顯示”按鈕,在“登錄時運行的專案”下就顯示了自啟動的程式。
六、定時的啟動——任務計畫
在默認情況下,“任務計畫”程式隨Windows 一起啟動並在後臺運行。如果把某個程式添加到計畫任務檔夾,並將計畫任務設置為“系統啟動時”或“登錄時”,這樣也可以實現程式自啟動。通過“計畫任務”載入的程式一般會在任務欄系統託盤區裏有它們的圖示。大家也可以雙擊“控制面板”中的“計畫任務”圖示查看其中的專案。
小提示
“任務計畫”也是一個特殊的系統檔夾,單擊“開始→程式→附件→系統工具→任務計畫”即可打開該檔夾,從而方便進行查看和管理。
七、跟著別人的啟動——隨軟體開啟的程式
隨MyIE2啟動的程式,詳見本刊2004年第3期、4期《讓你受用終生的流覽器─MyIE2實用技巧大放送》一文。
下篇 全方位作戰
徹底清查Windows自啟動
一、從“系統資訊”查看啟動程式
單擊“開始→程式→附件→系統工具→系統資訊”,雙擊“軟體環境”,單擊“啟動程式”,在右邊視窗出現的程式就是所有自啟動程式,在“裝載源”或“位置”下顯出該程式是由註冊表還是“啟動”檔夾啟動的。從這裏只能查看自啟動程式,不能對自啟動程式進行禁止自啟動等任何更改操作。
軟體性質: Windows自身功能
推薦指數: ★★★★
二、MSConfig
在Windows 98/Me/XP/2003中,單擊“開始→運行”,輸入msconfig回車即可打開“系統配置實用程式”視窗,單擊“啟動”標籤,在列表框中顯示的就是從註冊表、“啟動”檔夾和系統配置檔中自啟動的程式。程式前有對號的是允許自啟動的程式,沒有對號的則不會自啟動。如果想取消某個程式的自啟動,單擊取消程式前的對勾即可。還可以在autoexec.bat、system.ini和win.ini標籤裏面對它們進行編輯,取消其中的自啟動程式。
小提示
★所有的修改都需要重新啟動才能生效。
★Windows 2000沒有msconfig程式,但是我們可以從Windows 98或者XP拷貝一個到system32目錄,同樣可以起作用。
軟體性質: 免費,微軟原裝
推薦指數: ★★★★
三、startup.cpl
只需要將startup.cpl檔拷貝到Windows安裝目錄下的system32檔夾下麵即可,單擊“開始→設置→控制面板”打開控制面板,你會發現裏面多了一個Startup項,雙擊打開它,在打開的對話方塊中,可以方便地對“啟動”檔夾和註冊表中的啟動專案進行管理,如右擊空白處新建一個啟動項,右擊已有的啟動項目可以對其進行編輯、刪除、禁用和立刻運行等操作。
軟體性質: 免費,綠色軟體
推薦指數: ★★★★★
四、StartupMonitor
雙擊StartupMonitor.msi執行安裝,安裝完成後,它就乖乖的在後臺運行,只佔據100多KB的記憶體,什麼時候才顯示出它的本事呢?當你安裝了一個軟體的時候,如果它想自己偷偷自啟動,嘿嘿,就必須通過StartupMonitor的這一關,如所示,它管得非常寬,無論是什麼程式,它都不放過!漁歌強烈推薦。
軟體性質: 免費,小巧實用
推薦指數: ★★★★★
五、StartStop
軟體安裝後它會將自己加到註冊表的RunOnce 自啟動,啟動後會自動縮小到託盤區一個小圖示,雙擊即可打開StartStop主介面,在這裏列出了本機啟動程式,右擊某個程式可以選擇總是啟動、從不啟動還是每次詢問是否啟動,如所示,它有特色的一個地方是單擊功能表“Options→Startup delay”,可以設置啟動時延遲多少時間啟動程式。
軟體性質: 免費, 有特色
推薦指數: ★★★★
六、Autoruns
下載autoruns.zip後解壓縮直接執行裏面的autoruns.exe即可,由於它不會在啟動時載入,顯得更綠色。雙擊 autoruns.exe打開程式介面,它不僅僅列出的是非常全的啟動項,而且詳細地列出了啟動程式的公司和路徑,如果還不滿意,右擊某個啟動專案,選擇屬性,可以查看該啟動項的檔屬性。它還有兩個特色功能,一個是右擊任何一個啟動項,選擇Jump to就會立刻跳轉到具體的位置,如跳轉到註冊表的具體鍵值、打開啟動檔夾、打開INI檔等,非常方便!還有一個功能是單擊View功能表,可以切換是否顯示所有的啟動位置、是否顯示啟動的服務、是否只顯示非Microsoft公司的專案,這對於檢查啟動專案和過濾專案非常有用。
軟體性質: 免費,綠色軟體
推薦指數: ★★★★★
七、StartUp Organizer
Startup Organizer的組織和管理自啟動項功能很強大,它在控制啟動專案方面做的也比較細,如為某個啟動設定聲音提示,還能設置在 Windows啟動時按某個鍵來控制某些程式啟動與否,還可以備份自啟動配置檔以便應急恢復、比較啟動程式的變化、恢復第一次運行時的默認配置,操作也比較簡單,遺憾之處就是不是免費的。
軟體性質: 共用軟體,30天免費試用
##
Windows-自啟動方式完全總結! |
一.自啟動專案: |