Windows的自啟動方式:
一.自啟動目錄:
1.第一自啟動目錄:
默認路徑位于:
C:\windows\start menu\programs\startup(English)
C:\windows\start menu\programs\啟動(Chinese)
這是最基本、最常用的Windows啟動方式,主要用于啟動一些應用軟件的自啟動項目,如Office的快捷菜單。一般用戶希望啟動時所要啟動的文件也可以通過這里啟動,只需把所需文件或其快捷方式放入文件夾中即可。
對應的注冊表位置:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]
Startup=\"%Directory%\"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
Startup=\"%Directory%\"
其中“%Directory%”為啟動文件夾位置。
英文默認為:
C:\windows\start menu\programs\startup
中文默認為:
C:\windows\start menu\programs\啟動
在開始菜單的“啟動”文件夾是可更改的,如果用戶更改了啟動文件夾,則以上注冊表的鍵值均會改變為相應的名稱。
值得注意的是:開始菜單的“啟動”文件夾中的內容雖然在默認的狀態下可以被用戶看得一清二楚。但通過改動還是可以達到相當隱蔽地啟動的目的的:
首先,“啟動”文件夾中的快捷方式或其他文件的屬性可以改變為“隱藏”。這樣可以達到系統不啟動被隱藏的文件,等到需要啟動的時候又可以通過更改回文件屬性而恢復啟動的作用。
其次,其實“啟動”文件夾只是一個普通的文件夾,但是由于系統監視了這個文件夾,所以變得有些特殊,但文件夾有的功能該文件夾也是有的。譬如“啟動”文件夾的名稱是可以更改的,并且“啟動”文件夾也可以設置屬性。如果把屬性設置為“隱藏”,則在系統中的【開始】?【程序】菜單中是看不到“啟動”文件夾的(即使在“文件夾選項”中已經設定了“顯示所有文件”)。而系統還會啟動這個被隱藏的文件夾中的非隱藏文件。
敏感的人們也許已經發現問題。舉一個例子:
如果我想啟動A木馬的server端服務器,我可以把原來的“啟動”菜單的名稱更改為“StartUp”(這里是隨便改的,注冊表相應的鍵值也會自動更改。)之后再創建一個名為“啟動”的文件夾,把“StartUp”菜單中的文件全部復制(這里用復制,可以騙過用戶的檢查)到“啟動”菜單中,然后把A木馬的server程序放入“StartUp”文件夾中,最后把“StartUp”文件夾隱藏。大功告成!
從外表看來,用戶的【開始】?【啟動】目錄還在,而且要啟動的文件也在。但系統此時啟動的文件不是名為“啟動”的文件夾中的文件,而是名為“StartUp”的文件夾中的文件。如果木馬做的好的話,完全可以在每次啟動的時候把“StartUp”中的文件復制到“啟動”目錄中來達到實時更新啟動目錄的目的。由于“StartUp”文件夾被隱藏,從【開始】?【程序】中是無法看到真正的啟動菜單“StartUp”的,所以達到了隱蔽啟動的目的!
這個啟動方式雖然比較隱蔽,但通過msconfig依舊可以在“啟動”頁中看出來。
2.第二自啟動目錄:
是的,其實,Windows還有另外一個自啟動目錄,而且很明顯但卻經常被人們忽略的一個。
該路徑位于:
C:\WINDOWS\All Users\Start Menu\Programs\StartUp(English)
C:\WINDOWS\All Users\Start Menu\Programs\啟動(Chinese)
這個目錄的使用方法和第一自啟動目錄是完全一樣的。只要找到該目錄,將所需要啟動的文件拖放進去就可以達到啟動的目的。
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\User Shell Folders]
\"Common Startup\"=\"%Directory%\"
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\Shell Folders]
\"Common Startup\"=\"%Directory%\"
值得注意的是:該目錄在開始菜單的“啟動”目錄中是完全不能被看見的。而伴隨著每次啟動,該目錄下的非隱藏文件也會隨之啟動! 另外,在Msconfig中可以看到在這個目錄下要啟動的文件。
二.系統配置文件啟動:
由于系統的配置文件對于大多數的用戶來說都是相當陌生的;這就造成了這些啟動方法相對來說都是相當隱蔽的,所以這里提到的一些方法常常會被用于做一些破壞性的*作,請讀者注意。
1.WIN.INI啟動:
啟動位置(file.exe為要啟動的文件名稱):
[windows]
load=file.exe
run=file.exe
注意:load=與run=的區別在于:通過load=運行文件,文件會在后臺運行(最小化);而通過run=來運行,則文件是在默認狀態下被運行的。
2.SYSTEM.INI啟動:
啟動位置(file.exe為要啟動的文件名稱):
默認為:
[boot]
Shell=Explorer.exe
可啟動文件后為:
[boot]
Shell=Explorer.exe file.exe
說明:
筆者記得在諾頓先生(就是開發出Norton系列軟件的人)寫的一本書里面曾經說過,1、2這兩個文件的有無對系統沒有什么影響,但由于時間的關系,筆者沒有來得及試驗,有興趣者可以試一試。
不過有一點是可以肯定的,這樣的啟動方式往往會被木馬或一些惡作劇程序(如,妖之吻)利用而導致系統的不正常。由于一般用戶很少會對這兩個文件關心,甚至有的人不知道這些文件是做什么用的,所以隱蔽性很好。但由于其使用的越來越頻繁,這種啟動方式也被漸漸的察覺了。用戶可以使用msconfig這個命令實現檢查是否有什么程序被加載。具體的是在看是菜單中的“運行”中輸入msconfig回車,之后按照文字說明即可。
注意:
1.和WIN.INI文件不同的是,SYSTEM.INI的啟動只能啟動一個指定文件,不要把Shell=Explorer.exe file.exe換為Shell=file.exe,這樣會使Windows癱瘓!
2.這種啟動方式提前于注冊表啟動,所以,如果想限制注冊表中的文件的啟動,可是使用這種方法。
3.WININIT.INI啟動:
Wininit.ini這個文件也許很多人不知道,一般的*作中用戶也很少能直接和這個文件接觸。但如果你編寫過卸載程序的話,也許你會知道這個文件。
WinInit即為Windows Setup Initialization Utility。翻譯成中文就是Windows安裝初始化工具。這么說也許不明白,如果看到如下提示信息:
Please wait while Setup updates your configuration files.
This may take a few minutes...
大家也許就都知道了!這個就是