AutoRun

AutoRun

AutoRun,正如其字面意思,自動運行,是微軟的windows系統的一種自動運行的文件命令,主要用於對於移動設施的自動運行,本是微軟為了方便用戶使用CDROM等移動設施而設置的程序,而現在卻被很多病毒利用,所以一旦用戶發現來源不明的AutoRun.exe或者AutoRun.inf文件時一定要注意,要及時用殺毒軟體查殺,避免因此遭受損失。

簡介


在“開始”菜單的“運行”中輸入Regedit,打開註冊表編輯器,展開到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Exploer主鍵下,在右側窗格中找到“NoDriveTypeAutoRun”,就是這個鍵決定了是否執行CDROM或硬碟的AutoRun功能。
雙擊“NoDriveTypeAutoRun”,默認狀態下(即你沒有禁止過AutoRun功能),在彈出窗口中可以看到“NoDriveTypeAutoRun”默認鍵值為95,00,00,00。其中第一個值“95”是16進位值,它是所有被禁止自動運行設備的和。將“95”轉為二進位就是10010101,其中每位代表一個設備,Windows中不同設備會用如下數值表示:
位數設備名稱設備表示設備名稱含義
1DRIVE_UNKNOWN0101h不能識別的設備類型
2DRIVE_NO_ROOT_DIR1002h沒有根目錄的驅動器(Drivewithoutrootdirectory)
3DRIVE_REMOVABLE2104h可移動驅動器(Removabledrive)
4DRIVE_FIXED3008h固定的驅動器(Fixeddrive)
5DRIVE_REMOTE4110h網路驅動器(Networkdrive)
6DRIVE_CDROM5020h光碟機(CD-ROM)
7DRIVE_RAMDISK6040hRAM磁碟(RAMDisk)
8DRIVE_NO_SPE7180h未指定的驅動器類型(Notyetspecifieddrivedisk)
在上面所列的表中值為“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代表固定的驅動器,即硬碟。這樣一來,原來的10010101(在表中“值”列中由下向上看)就變成了二進位的10011101,轉為16進位為9D。現在,將“NoDriveTypeAutoRun”的鍵值改為9D,00,00,00,關閉註冊表編輯器,重啟電腦就會關閉硬碟的AutoRun功能。

禁止功能


怎樣禁止光碟AutoRun功能?
其實就是將DRⅣE_CDROM設為1,這樣“NoDriveTypeAutoRun”鍵值中的第一個值就變成了10110101,也就是16進位的B5。將第一個值改為B5后關閉註冊表編輯器,重啟電腦後就會關閉CDROM的Autorun功能。如果僅想禁止軟體光碟的AutoRun功能,但又保留對CD音頻碟的自動播放能力,這時只需將“NoDriveTypeAutoRun”的鍵值改為: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的計算機光碟機,適用系統為WindowsNT4.0,可選。
[DeviceInstall]適用於WindowsXP以上系統,可選。
[AutoRun]部分的命令及其詳解。

DefaultIcon

含義:指定應用程序的默認圖標。
格式:
DefalutIcon=圖標路徑名[,序號]
參數:
圖標文件名:應用程序的默認圖標路徑名,格式可以為.ico、.bmp、.exe、.dll。當文件格式為.exe和.dll時,有時需要使用序號來指定圖標。
序號:當文件格式為.exe和.dll時,文件可能包括多餘一個圖標,此時需要使用序號來指定圖標,需要注意的是,序號是從0開始的。
備註:
應用程序的默認圖標將在windowsexplorer核心的驅動顯示窗口中替代設備的默認圖標來顯示。
圖標路徑名的默認目錄是設備根目錄。

Icon

含義:指定設備顯示圖標。
格式:
Icon=圖標路徑名[,序號]
參數:
圖標文件名:應用程序的默認圖標路徑名,格式可以為.ico、.bmp、.exe、.dll。當文件格式為.exe和.dll時,有時需要使用序號來指定圖標。
序號:當文件格式為.exe和.dll時,文件可能包括多餘一個圖標,此時需要使用序號來指定圖標,需要注意的是,序號是從0開始的。
備註:
設備顯示圖標將在windowsexplorer核心的驅動顯示窗口中替代設備的默認圖標來顯示。
圖標路徑名的默認目錄是設備根目錄。
當存在應用程序默認圖標(DefaultIcon)時,本命令無效。

Label

含義:指定設備描述
格式:
Label=描述
參數:
描述:任意文字,可以包括空格。
備註:
設備描述將在windowsexplorer核心的驅動顯示窗口中替代設備的默認描述卷標來顯示。
在非windowsexplorer核心的驅動顯示窗口中(例如右擊設備選擇屬性)顯示的仍然是設備的卷標。

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=驅動程序路徑
參數:
驅動程序路徑:驅動程序所在路徑,包括其子路徑。
備註:
WindowsXP以上支持。
僅CD-ROM支持
當系統監測到一個新的設備時,會提示用戶尋找設備的驅動程序。當用戶點選此CD-ROM時,當[DeviceInstall]部分存在時,系統會按照DriverPath所標記的路徑出尋找驅動程序。未標記的路徑系統將忽略查找。當[DeviceInstall]部分不存在時,系統將進行完全查找。
如果不希望系統在此CD-ROM中搜索驅動程序,只加一行[DeviceInstall]不加DriverPath命令即可。
系統識別該文件過程如下:
系統在插入U盤的時候會根據這個AUTORUN.INF文件在註冊表[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2]下建立一個u盤的關聯項,使雙擊打開指定的程序(如病毒程序)。
Windows2000/XP下如何刪除autorun.inf文件夾在命令提示符中,輸入rd(文件夾路徑)即可刪除文件夾
如文件夾內有內容可把rd替換為deltree來完成刪除。

病毒資料


AUTORUN.INF病毒資料
MVS.exeDropper.VB.acd
LaunchCd.exeTrojan.VB.vwp
Tel.xls.exeWorm.VB.lv
Ghost.exe,conime.exeTrojan.DL.Agent.blr
Autorun.exeTrojan.Agent.xkt
toy.exeWorm.Agent.av
autorun.exesoundmix.exeWorm.Clive.a
printer.exeTrojan.VB.wio
BootIO.exeTrojan/Agent.Bui

免疫程序


Autorun免疫程序
打開需要免疫的盤符,然後點擊免疫。移動硬碟先連接電腦後,然後打開程序。U盤、等其它移動設備如沒有檢測到盤符,可自行手動輸入盤符名稱,然後執行免疫。
我們知道,同一目錄下,兩個相同文件名的文件是不能共存的。經過免疫后的磁碟,會在磁碟的根目錄下生成一個防刪除、替換並隱藏的Autorun.inf文件夾,並自動設置為只讀和系統隱藏屬性,以防止病毒藉助Autorun自動運行文件進行病毒的自動傳播。
步驟如下:
新建一個空文本文檔,並更名為"1.bat"(擴展名改成bat),輸入如下命令:
x:(x表示盤符,如果是h盤,就輸入h:)
mdautorun.inf
cdautorun.inf
mdcon\
(因為con文件夾在DOS中不可直接輸入命令,要加入“\”)
然後打開此文件,就可免疫。可放到該U盤中,但不要放在U盤的文件夾中,否則會在這個文件夾里新建一個這樣的免疫文件夾。
當有病毒的移動磁碟插入電腦時,如果您發現系統提示:“無法寫入AUTORUN:訪問被拒絕。請確定磁碟未滿或未被防寫而且未被使用”時,此時病毒寫入電腦失敗。
如果您想刪除磁碟目錄下的此免疫文件,請重新新建一個空文本文檔,並更名為"2.bat"(擴展名改成bat),輸入如下命令:
x:(x表示盤符,如果是h盤,就輸入h:)
cdautorun.inf
rdcon\
cd..
rdautorun.inf
然後打開此文件,就可解除免疫。可放到該U盤中,但不要放在U盤的文件夾中,否則無效。
註:在極小數系統下面點執行後會提示選擇盤符,這不影響使用。