簡介
在“開始”選單的“運行”中輸入Regedit, 打開註冊表編輯器,展開到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Exploer主鍵下,在右側窗格中找到“NoDriveTypeAutoRun”,就是這個鍵決定了是否執行CDROM或硬碟的AutoRun功能。
雙擊“NoDriveTypeAutoRun”,默認狀態下(即你沒有禁止過AutoRun功能),在彈出視窗中可以看到“NoDriveTypeAutoRun”默認鍵值為95,00,00,00。其中第一個值“95”是16進制值,它是所有被禁止自動運行設備的和。將“95”轉為二進制就是1001 01 01,其中每位代表一個設備,Windows中不同設備會用如下數值表示:
位數 | 設備名稱 | 值 | 設備表示設備名稱含義 |
1 | DRIVE_UNKNOWN | 0101h | 不能識別的設備類型 |
2 | DRIVE_NO_ROOT_DIR | 1002h | 沒有根目錄的驅動器(Drive without root directory) |
3 | DRIVE_REMOVABLE | 2104h | 可移動驅動器(Removable drive) |
4 | DRIVE_FIXED | 3008h | 固定的驅動器(Fixed drive) |
5 | DRIVE_REMOTE | 4110h | 網路驅動器(Network drive) |
6 | DRIVE_CDROM | 5020h | 光碟機(CD-ROM) |
7 | DRIVE_RAMDISK | 6040h | RAM磁碟(RAM Disk) |
8 | DRIVE_NO_SPE | 7180h | 未指定的驅動器類型(Not yet specified drive disk) |
在上面所列的表中值為“0”表示設備運行,值為“1”表示該設備不運行(默認情況下,Windows禁止80h、10h、4h、01h這些設備自動運行,這些數值累加正好是16進制的95h,所以NoDriveTypeAutoRun”默認鍵值為95,00,00,00)。
由上面的分析不難看出,在默認情況下,會自動運行的設備是DRIVE_NO_ROOT_DIR、DRIVE_FIXED、DRIVE_CDROM、DRIVE_RAMDISK這4個保留設備,所以要禁止硬碟自動運行AutoRun.inf檔案,就必須將DRIVE_FIXED的值設為1,這是因為DRIVE_FIXED代表固定的驅動器,即硬碟。這樣一來,原來的1 00101 01(在表中“值”列中由下向上看)就變成了二進制的10011101,轉為16進制為9D。現在,將“No Drive Type AutoRun”的鍵值改為9D,00,00,00,關閉註冊表編輯器,重啟電腦就會關閉硬碟的AutoRun功能。
禁止功能
怎樣禁止光碟AutoRun功能?
其實就是將DRⅣE_CDROM設為1,這樣“No Drive TypeAutoRun”鍵值中的第一個值就變成了10110101,也就是16進制的B5。將第一個值改為B5後關閉註冊表編輯器,重啟電腦後就會關閉CDROM的Autorun功能。如果僅想禁止軟體光碟的AutoRun功能,但又保留對CD音頻碟的自動播放能力,這時只需將“No Drive Type AutoRun”的鍵值改為:BD,00,00,00即可。如果想要恢復硬碟或光碟機的AutoRun功能,進行反方向操作即可。
事實上,大多數的硬碟根目錄下並不需要AutoRun.inf檔案來運行程式,因此,我們完全可以將硬碟的AutoRun功能關閉,這樣即使在硬碟根目錄下有AutoRun.inf這個檔案,Windows也不會去運行其中指定的程式,從而可以達到防止黑客利用AutoRun.inf檔案入侵的目的。
種類劃分
autorun.inf
autorun.inf檔案是從Windows95開始的,最初用在其安裝盤裡,實現自動安裝,以後的各版本都保留了該檔案並且部分內容也可用於其他存儲設備。
其結構有三個部分:[AutoRun] [AutoRun.Alpha] [DeviceInstall]
[AutoRun]適用於Windows95以上系統與32位以上CD-ROM,必選。
[AutoRun.alpha]適用於基於RISC的計算機光碟機,適用系統為Windows NT 4.0,可選。
[DeviceInstall]適用於Windows XP以上系統,可選。
[AutoRun]部分的命令及其詳解。
DefaultIcon
含義:指定應用程式的默認圖示。
格式:
DefalutIcon=圖示路徑名[,序號]
參數:
圖示檔案名稱:應用程式的默認圖示路徑名,格式可以為.ico、.bmp、.exe、.dll。當檔案格式為.exe和.dll時,有時需要使用序號來指定圖示。
序號:當檔案格式為.exe和.dll時,檔案可能包括多餘一個圖示,此時需要使用序號來指定圖示,需要注意的是,序號是從0開始的。
備註:
應用程式的默認圖示將在windows explorer核心的驅動顯示視窗中替代設備的默認圖示來顯示。
圖示路徑名的默認目錄是設備根目錄。
Icon
含義:指定設備顯示圖示。
格式:
Icon=圖示路徑名[,序號]
參數:
圖示檔案名稱:應用程式的默認圖示路徑名,格式可以為.ico、.bmp、.exe、.dll。當檔案格式為.exe和.dll時,有時需要使用序號來指定圖示。
序號:當檔案格式為.exe和.dll時,檔案可能包括多餘一個圖示,此時需要使用序號來指定圖示,需要注意的是,序號是從0開始的。
備註:
設備顯示圖示將在windows explorer核心的驅動顯示視窗中替代設備的默認圖示來顯示。
圖示路徑名的默認目錄是設備根目錄。
當存在應用程式默認圖示(DefaultIcon)時,本命令無效。
Label
含義:指定設備描述
格式:
Label=描述
參數:
描述:任意文字,可以包括空格。
備註:
設備描述將在windows explorer核心的驅動顯示視窗中替代設備的默認描述卷標來顯示。
在非windows explorer核心的驅動顯示視窗中(例如右擊設備選擇屬性)顯示的仍然是設備的卷標。
Open
含義:指定設備啟用時運行之命令行。
格式:
Open=命令行
(命令行:程式路徑名 [參數])
參數:
命令行:自動運行的命令行,必須是.exe、.com、.bat檔案,其他格式檔案可以使用start.exe打開或使用ShellExecute命令。
備註:
命令行的起始目錄是設備根目錄和系統的$Path環境變數。
5、ShellExecute
含義:
指定設備啟用時執行檔案。(作業系統支持未知)
格式:
ShellExecute=執行檔案路徑名 [參數]
參數:
執行檔案路徑名:設備啟用時執行檔案路徑名。可以是任意格式檔案。系統會調用設定的程式執行此檔案。
參數:參數,根據執行檔案作調整
備註:
命令行的起始目錄是設備根目錄和系統的$Path環境變數。
6、Shell關鍵字Command
含義:
定義設備右鍵選單執行命令行。
格式:
Shell關鍵字Command=命令行
(命令行:程式路徑名 [參數])
參數:
命令行:自動運行的命令行,必須是.exe、.com、.bat檔案,其他格式檔案可以使用start.exe打開。
備註:
命令行的起始目錄是設備根目錄和系統的$Path環境變數。
Shell關鍵字
含義:定義設備右鍵選單文本。
格式:
Shell關鍵字=文本
參數:
關鍵字:用以標記選單,可以使用任何字元表示,包括空格。
文本:在右鍵選單中顯示的文本。可以使用任何字元,不能存在空格。
備註:
在同一Autorun.inf檔案中,不同右鍵選單關鍵字不同,相同右鍵選單關鍵字相同。
右鍵選單文本中可以使用&;設定加速鍵,&&;輸出一個&。
Shell關鍵字Command命令Shell關鍵字兩者缺一不可,順序無所謂。
當不存在Open、ShellExecute與Shell命令時,設備啟用時運行第一個設備右鍵選單指定命令。
Shell
含義:定義設備啟用時運行之設備右鍵命令。
格式:
Shell=關鍵字
參數:
關鍵字:標記過的選單關鍵字
備註:
Shell指定的關鍵字可以在AutoRun.inf檔案的任意部分。
OpenShellExecuteShell命令後定義的優先權高。
如何刪除autorun.inf資料夾?
在命令提示符中,輸入rd (資料夾位置)即可刪除資料夾。
命令簡介
AutoRun.alpha部分的命令簡介
[AutoRun.alpha]部分的命令與[AutoRun]部分的命令相同,只不過在基於RISC的計算機光碟機中,[AutoRun.alpha]優先權高於[AutoRun]
[DeviceInstall]部分命令及其詳解
DriverPath
含義:定義搜尋驅動程式目錄。
格式:
DriverPath=驅動程式路徑
參數:
驅動程式路徑:驅動程式所在路徑,包括其子路徑。
備註:
Windows XP以上支持。
僅CD-ROM支持
當系統監測到一個新的設備時,會提示用戶尋找設備的驅動程式。當用戶點選此CD-ROM時,當[DeviceInstall]部分存在時,系統會按照DriverPath所標記的路徑出尋找驅動程式。未標記的路徑系統將忽略查找。當[DeviceInstall]部分不存在時,系統將進行完全查找。
如果不希望系統在此CD-ROM中搜尋驅動程式,只加一行[DeviceInstall]不加DriverPath命令即可。
系統識別該檔案過程如下:
系統在插入隨身碟的時候會根據這個AUTORUN.INF檔案在註冊表[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2]下建立一個u盤的關聯項,使雙擊打開指定的程式(如病毒程式)。
Windows 2000/XP下如何刪除autorun.inf資料夾在命令提示符中,輸入rd (資料夾路徑)即可刪除資料夾
如資料夾內有內容可把rd替換為deltree來完成刪除。
病毒資料
AUTORUN.INF病毒資料
MVS.exe Dropper.VB.acd
LaunchCd.exe Trojan.VB.vwp
Tel.xls.exe Worm.VB.lv
Ghost.exe,conime.exe Trojan.DL.Agent.blr
Autorun.exe Trojan.Agent.xkt
toy.exe Worm.Agent.av
autorun.exe soundmix.exe Worm.Clive.a
printer.exe Trojan.VB.wio
BootIO.exe Trojan/Agent.Bui
免疫程式
Autorun免疫程式
打開需要免疫的盤符,然後點擊免疫。移動硬碟先連線電腦後,然後打開程式。隨身碟、等其它移動設備如沒有檢測到盤符,可自行手動輸入盤符名稱,然後執行免疫。
我們知道,同一目錄下,兩個相同檔案名稱的檔案是不能共存的。經過免疫後的磁碟,會在磁碟的根目錄下生成一個防刪除、替換並隱藏的Autorun.inf資料夾,並自動設定為唯讀和系統隱藏屬性,以防止病毒藉助Autorun自動運行檔案進行病毒的自動傳播。
步驟如下:
新建一個空文本文檔,並更名為"1.bat"(擴展名改成bat),輸入如下命令:
x:(x表示盤符,如果是h盤,就輸入h:)
md autorun.inf
cd autorun.inf
md con\
(因為con資料夾在DOS中不可直接輸入命令,要加入“\”)
然後打開此檔案,就可免疫。可放到該隨身碟中,但不要放在隨身碟的資料夾中,否則會在這個資料夾里新建一個這樣的免疫資料夾。
當有病毒的移動磁碟插入電腦時,如果您發現系統提示:“無法寫入AUTORUN:訪問被拒絕。請確定磁碟未滿或未被防寫而且未被使用”時,此時病毒寫入電腦失敗。
如果您想刪除磁碟目錄下的此免疫檔案,請重新新建一個空文本文檔,並更名為"2.bat"(擴展名改成bat),輸入如下命令:
x:(x表示盤符,如果是h盤,就輸入h:)
cd autorun.inf
rd con\
cd..
rd autorun.inf
然後打開此檔案,就可解除免疫。可放到該隨身碟中,但不要放在隨身碟的資料夾中,否則無效。
註:在極小數系統下麵點執行後會提示選擇盤符,這不影響使用。