-- 作者:aimulin
-- 發布時間:2009/5/28 18:45:41
-- 反病毒教程(提升篇)第6課
一.環境變量與命令 命令分為內部命令和外部命令,以前用到的cd就是一個內部命令,內部命令只能在cmd中執行,其他的還有del(刪除文件的命令),rd(刪除目錄的命令),md(創建目錄的命令)等.外部命令很多,每個外部命令都有一個與命令同名的文件,這些文件都可以在path環境變量所設定的目錄中找到. 廣義上講,窗體程序也可以算命令,如regedit(注冊表編輯器),services.msc(服務)等. 我們天天用的QQ當然也可以算哈,試下在運行中輸入QQ,結果如圖: 讓QQ這個命令可用吧,跟我操作: 我的電腦,屬性,高級,環境變量,系統變量(用戶變量也是一樣的) 找到變量Path,雙擊,可以看到變量值是由很多文件路徑組成的,每個路徑是用分號隔開的. 所有在最后面先加個分號,再在后面加上QQ的安裝目錄,比如我的就加X:\\Program Files\\Tencent\\QQ 確定,再點確定. 如果沒有path變量,可以新建一個,然后直接輸入QQ的目錄.(沒有的話,后面的結果就會有不同) 現在在運行中輸入qq就可以直接運行了. path變量的值也是系統搜索目錄 到%SystemRoot%\\System32目錄(或%SystemRoot%目錄)把notepad.exe重命名為qq.exe,然后在運行中輸入qq 這時運行的程序不再是QQ,而是記事本. 原因是系統優先搜索%SystemRoot%\\System32目錄,再是我設定的目錄,如果在前面的目錄中可以找到名為qq的程序,則直接運行它了,不再搜索后面的目錄. 把那個文件改回notepad.exe吧.
二.減少開機自動運行的程序 Win+R,輸入msconfig,確定,切換到啟動頁.軟件裝多了的話,這里可以看到好多. 我這里可以看到5個,三個打勾的,表示已啟用,如圖:
啟動項目的名字一般就是程序的文件名或描述 第二列,命令,就是開機自動運行的程序所在的路徑,可以帶參數運行. 第三列是位置,很多是注冊表路徑.
Startup這個位置表示的是當前用戶的開始菜單,所有程序,啟動這個位置,文件路徑為C:\\Documents and Settings\\你的用戶名\\「開始」菜單\\程序\\啟動,也就是說你往這個目錄放程序,下次及以后一開機就會自動運行這個程序了(只對指定的用戶有效). Common Startup,路徑為C:\\Documents and Settings\\All Users\\「開始」菜單\\程序\\啟動,這里放的程序對所有用戶有效,其他和上面的一樣,可以是程序快捷方式等. HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run,這個大家肯定熟悉,是注冊表路徑,只是前面的根鍵縮寫了,寫全了就是HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run,只是這個位置比較特殊,大家打開注冊表定位到這里,和剛才在系統配制實用程序中看到的對比下. 這里的鍵名和msconfig中的名稱是不一樣的,但鍵值卻和命令是一樣的. 事實上這里的鍵名可以任意更改,鍵值就是你想開機時自動運行的命令(或程序) 這里就可以把不需要的刪除,哪些不需要? 百度一下文件名就知道了,比如我這里第二個wesec.exe,搜索下就知道了,它是365門神,一款優秀的惡意網頁廣告等的標示及攔截工具 (對于進程名,不知道的也去百度一下吧,百度不到的google) 第三個估計大部分都有吧,輸入法圖標,呵. 第一個google工具條. 開始,運行,輸入services.msc,確定.(或者,控制面板,管理工具,服務) 選中某個服務時,左上角會顯示該服務的具體描述(如果你的不顯示,請點擊左下角的擴展)
圖中是部分已被我禁用的服務,因為我根本不需要它們,開了只會浪費資源.當然需要的時候可以再次開啟它. 雙擊或者右鍵選擇屬性就可以看到更多的信息,我們所要關注的就是可執行文件的路徑,依存關系,啟動類型,服務狀態. 比如這個Print Spooler,因為我根本就沒有打印機,更不需要打印,所以我把它停止并禁用了,于是任務管理器中將看不到映像名為spoolsv.exe的進程了. 作為服務啟動的程序在任務管理器中看到的用戶名一列均為system.
所有服務在注冊表中都有相對應的位置,這些位置有如下幾個(可能你的沒有第三個或還有其他的): HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Services HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet002\\Services HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet003\\Services HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services 不過這樣找某個具體的服務麻煩了點,因此一般不直接找,而是搜索. 怎么來搜索打印服務? 展開到并選中該項,點編輯,查找,輸入spoolsv.exe,查看那里的三個全選上(也可以只選數據,這樣搜索速度會快一點),全字匹配不要選上,點查找下一個. 很快就搜索到了,在左邊空白處點一下,可以看到它的完整注冊表路徑為HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Services\\Spooler 項名即為服務名稱. DisplayName為服務的顯示名稱 Description的值為該服務的描述,這些都可以修改 ImagePath的值為可執行文件的路徑 Start的值表示服務的啟動方式,4表示禁用,3表示手動,2表示自動 ObjectName的值表示服務類型,如本地服務(LocalSystem),網絡服務等. 將整個項刪除可以完全刪除這個服務,不建議這樣做.按F3繼續查找,在HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet002\\Services下又發現有... 這里有必要解釋一下了: Currentcontrolset一般是ControlSet001的映射,也就是當前生效的項.修改其中的一個,另一個會跟著變化. ControlSet002保存上次生效的配置(最后一次正確配制所加載的內容.開機時按F8就知道了) ControlSet003如果使用過上次有效的配置則這里的是備份的ControlSet001 后面如果還有的話以此類推. 為什么我上面說Currentcontrolset一般是ControlSet001的映射,因為有些情況下并不是這樣的,可能是ControlSet002的映射,這個由HKEY_LOCAL_MACHINE\\SYSTEM\\Select下面的鍵來決定.具體是: Cturren 當前,值為1表示當前使用的是ControlSet001下面的配制,值為2表示使用的是ControlSet002下的配制,其他以此類推. Default 默認,通常和上面鍵的值一樣 LastKnownGood 最后一次正確配置,默認應該是3吧,也就是指向了ControlSet003. Failed 指向上次啟動失敗的設置項 禁用最后一次正確配置 [HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon] ReportBootOk的值改為0,沒有就新建. 這一課的內容,想要完全掌握,是要下點工夫的,呵呵,不要以為很簡單. 附件是一張服務對照圖,比較完整,包括是否需要禁用等.圖片大小908*2721,比較大,所以用windows圖片和傳真查看器打開時,請放大,否則看不清楚.
|