1. 程式人生 > >用bat消滅autorun.inf資料夾

用bat消滅autorun.inf資料夾

    昨天用雨林木風的系統時,磁碟上多了幾個autorun.inf的資料夾。用防毒軟體掃描沒有問題,這時候並不是你的電腦中毒了,因為這個“傢伙”就是所謂的免疫資料夾,在win95開始使用的。磁碟上多了一個這樣的資料夾主要是為了防止病毒把病毒檔案放到autonrun.inf中。在你開啟一個碟符或者是插入U盤是引發病毒的。

    說實話,我看到這個資料夾是有很多的不爽之處,所以一心想把它給幹掉,用了很多方法都沒有管用。作為一個程式設計師,遇到這樣的問題讓我很是不爽。更作為一箇中國人一個盜版ms的人。面對微軟的玩弄讓我更不爽了。不知不覺就在網上發現有個同行(肯定是牛人,對作業系統的工作原理特別熟悉)寫了個bat檔案來解決我的問題。

    現在拿來分享下。此時對原創者說聲對不起,要借用下你的程式碼了。

    方法:將下面程式碼儲存成bat檔案,然後雙擊就可以運行了... 祝你成功...

@Echo Off
color 2f
title  Autorun 病毒清除工具——有腦分析
Rem 殺程序
taskkill /F /IM SocksA.exe /IM SVOHOST.exe /IM AdobeR.exe /IM ravmone.exe /IM wincfgs.exe /IM doc.exe /IM rose.exe /IM sxs.exe /IM autorun.exe /IM KB20060111.exe /IM tel.xls.exe>nul 2>nul

:clearauto
cls
Echo.
Echo    Autorun 病毒清除工具
Echo.
Echo.   
Echo.
Echo          製作:有腦分析
Echo.
Echo  本程式執行後自動清除每個碟符下的Autorun病毒
Echo  本程式原理是基於讀取每個碟符下的Autorun.inf相關欄位
Echo.
Echo  [1] 僅僅刪除所有碟符下的 Autorun 病毒
Echo  [2] 刪除所有碟符下的 Autorun 病毒並且建立同名免疫目錄(推薦!)
Echo  [3] 禁用系統的 Autorun 機制以避免 Autorun 病毒的再次感染
Echo  [4] 取消所有碟符的 Autorun 病毒免疫
Echo  [5] 刪除並免疫指定碟符的 Autorun 病毒
Echo  [6] 取消免疫指定碟符
Echo  [7] 恢復相關注冊表項預設值
Echo  [0] 退出
Echo.
Set clearslt=
Set /p clearslt= 請輸入您的選擇(1/2/3/4/5/6/7/0):
If "%clearslt%"=="1" Goto clearauto1
If "%clearslt%"=="2" Goto clearauto2
If "%clearslt%"=="3" Goto clearauto3
If "%clearslt%"=="4" Goto clearauto4
If "%clearslt%"=="5" Goto clearauto5
If "%clearslt%"=="6" Goto clearauto6
If "%clearslt%"=="7" Goto clearauto7
If "%clearslt%"=="0" Exit
Goto clearauto

:clearauto1
For %%a In (C D E F G H I J K L M N O P Q R S T U V W X Y Z) Do (
 fsutil fsinfo drivetype %%a: |find /i "固定驅動器" && (
  For /f "tokens=2 delims==" %%b In (%%a:\autorun.inf) Do Del /a /f /q "%%a:\%%b" >nul 2>nul
  Del /a /f /q %%a:\autorun.inf >nul 2>nul
  ) >nul 2>nul
 fsutil fsinfo drivetype %%a: |find /i "可移動驅動器" && (
  For /f "tokens=2 delims==" %%b In (%%a:\autorun.inf) Do Del /a /f /q "%%a:\%%b" >nul 2>nul
  Del /a /f /q %%a:\autorun.inf >nul 2>nul
  ) >nul 2>nul
 )
cls
Echo  Autorun 病毒清除完畢,任意鍵返回……
pause>nul
Goto clearauto

:clearauto2
For %%a In (C D E F G H I J K L M N O P Q R S T U V W X Y Z) Do (
 fsutil fsinfo drivetype %%a: |find /i "固定驅動器" && (
  For /f "tokens=2 delims==" %%b In (%%a:\autorun.inf) Do Del /a /f /q "%%a:\%%b" & md "%%a:\%%b\免疫目錄不要刪除!...\" & attrib +s +h +r "%%a:\%%b" & Echo Y|cacls "%%a:\%%b" /T /C /P everyone:N >nul 2>nul
  Del /a /f /q %%a:\autorun.inf & md "%%a:\autorun.inf\免疫目錄不要刪除!...\" & attrib +s +h +r %%a:\autorun.inf & Echo Y|cacls "%%a:\autorun.inf" /T /C /P everyone:N >nul 2>nul
  ) >nul 2>nul
 fsutil fsinfo drivetype %%a: |find /i "可移動驅動器" && (
  For /f "tokens=2 delims==" %%b In (%%a:\autorun.inf) Do Del /a /f /q "%%a:\%%b" & md "%%a:\%%b\免疫目錄不要刪除!...\" & attrib +s +h +r "%%a:\%%b" & Echo Y|cacls "%%a:\%%b" /T /C /P everyone:N >nul 2>nul
  Del /a /f /q %%a:\autorun.inf & md "%%a:\autorun.inf\免疫目錄不要刪除!...\" & attrib +s +h +r %%a:\autorun.inf & Echo Y|cacls "%%a:\autorun.inf" /T /C /P everyone:N >nul 2>nul
  ) >nul 2>nul
 )
cls
Echo  Autorun 病毒清除並免疫完畢,任意鍵返回……
pause>nul
Goto clearauto

:clearauto3
cls
Echo.
Echo  正在停止相關服務……
Echo.
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer" /v NoDriveTypeAutoRun /t REG_DWORD /d 0x000000ff /f >nul 2>nul
reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer" /v NoDriveTypeAutoRun /t REG_DWORD /d 0x000000ff /f >nul 2>nul
net stop ShellHWDetection >nul 2>nul
sc config ShellHWDetection start= disabled >nul 2>nul
Rem 新增防止從回收站或仿回收站的目錄中直接執行可執行檔案的策略
Set REGPATH=HKLM\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers\0\Paths
Set SFLAG=/v SaferFlags /t REG_DWORD /d 0x00000000 /f
Set IDATA=/f /v ItemData /d "?:\Recyc?
reg add %REGPATH%\{00ffa5bf-abe7-4901-aacf-4f58aa31217a} %SFLAG%>nul
reg add %REGPATH%\{00ffa5bf-abe7-4901-aacf-4f58aa31217a} %IDATA%\*\*\*\*.*">nul

reg add %REGPATH%\{41fe7eed-c47a-46f6-840a-240796fd03cf} %SFLAG%>nul
reg add %REGPATH%\{41fe7eed-c47a-46f6-840a-240796fd03cf} %IDATA%\*\*\*.*">nul

reg add %REGPATH%\{4e93c91c-a40e-462e-9b89-3b0832d222d9} %SFLAG%>nul
reg add %REGPATH%\{4e93c91c-a40e-462e-9b89-3b0832d222d9} %IDATA%\*.*">nul

reg add %REGPATH%\{5bfc100b-d3fb-450e-88ec-6819ab56a9ff} %SFLAG%>nul
reg add %REGPATH%\{5bfc100b-d3fb-450e-88ec-6819ab56a9ff} %IDATA%\*\*\*\*.*">nul

reg add %REGPATH%\{5c5e2bcd-7057-43f4-830c-e4361d2afadd} %SFLAG%>nul
reg add %REGPATH%\{5c5e2bcd-7057-43f4-830c-e4361d2afadd} %IDATA%\*.*">nul

reg add %REGPATH%\{5f8ff865-0638-4c6e-98de-923e7bc6b330} %SFLAG%>nul
reg add %REGPATH%\{5f8ff865-0638-4c6e-98de-923e7bc6b330} %IDATA%\*\*\*.*">nul

reg add %REGPATH%\{649c1429-0e79-453c-abe9-b5682e035ae7} %SFLAG%>nul
reg add %REGPATH%\{649c1429-0e79-453c-abe9-b5682e035ae7} %IDATA%\*\*.*">nul

reg add %REGPATH%\{718f54b2-c669-4d7b-aeff-18d69f100034} %SFLAG%>nul
reg add %REGPATH%\{718f54b2-c669-4d7b-aeff-18d69f100034} %IDATA%\*\*.*">nul

reg add %REGPATH%\{8385d9d2-80c9-4ac1-a100-ed3e62863d97} %SFLAG%>nul
reg add %REGPATH%\{8385d9d2-80c9-4ac1-a100-ed3e62863d97} %IDATA%\*.*">nul

reg add %REGPATH%\{af2a4fcf-441c-421e-9663-52cd3502cfd7} %SFLAG%>nul
reg add %REGPATH%\{af2a4fcf-441c-421e-9663-52cd3502cfd7} %IDATA%\*\*\*.*">nul

reg add %REGPATH%\{b997f4b2-c037-4e97-b051-31f5d86df802} %SFLAG%>nul
reg add %REGPATH%\{b997f4b2-c037-4e97-b051-31f5d86df802} %IDATA%\*\*.*">nul

reg add %REGPATH%\{d4e7b6ff-d76f-407f-b8bb-ea0835f5babc} %SFLAG%>nul
reg add %REGPATH%\{d4e7b6ff-d76f-407f-b8bb-ea0835f5babc} /f /v ItemData /d "RECYC*.*">nul

Rem 清除喜歡利用回收站的移動磁碟自動執行病毒
For %%a In (c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) Do (
 For %%b In (exe pif com) Do (
  Echo Y|cacls "%%a:\Recycler\*.%%b" /C /T /P everyone:F>nul 2>nul&Echo Y|cacls "%%a:\Recycled\*.%%b" /C /T /P everyone:F>nul 2>nul&Echo Y|cacls "%%a:\Recycled\Recycled\*.%%b" /C /T /P everyone:F>nul 2>nul
  Del /A /F /S /Q "%%a:\Recycler\*.%%b">nul 2>nul&Del /A /F /S /Q "%%a:\Recycled\*.%%b">nul 2>nul&Del /A /F /S /Q "%%a:\Recycled\Recycled\*.%%b">nul 2>nul
  )
 )>nul 2>nul
Echo.
Echo  相關服務已停止並禁用,任意鍵返回……
pause >nul
Goto clearauto

:clearauto4
For %%a In (C D E F G H I J K L M N O P Q R S T U V W X Y Z) Do (
 fsutil fsinfo drivetype %%a: |find /i "固定驅動器" && (
  Echo Y|cacls "%%a:\autorun.inf" /T /C /P everyone:F&Del /a /f /q "%%a:\autorun.inf" & rd /s /q "%%a:\autorun.inf">nul 2>nul
  )>nul 2>nul
 fsutil fsinfo drivetype %%a: |find /i "可移動驅動器" && (
  Echo Y|cacls "%%a:\autorun.inf" /T /C /P everyone:F&Del /a /f /q "%%a:\autorun.inf" & rd /s /q "%%a:\autorun.inf">nul 2>nul
  )>nul 2>nul
 )
cls
Echo.
Echo  已經解除全部碟符的免疫,任意鍵返回……
pause>nul
Goto clearauto

:clearauto5
cls
Echo.
Set pf=
Set /p pf=  請輸入碟符,如"F:"(不包括引號)
Echo   即將免疫%pf%盤……|find /i ":"||Set pf=%pf%:&&Echo   即將免疫%pf%盤……
fsutil fsinfo drivetype %pf% |find /i "固定驅動器" && (
 For /f "tokens=2 delims==" %%a In (%pf%\autorun.inf) Do Del /a /f /q "%pf%\%%a" & md "%pf%\%%a\免疫目錄不要刪除!...\" & attrib +s +h +r "%pf%\%%a" & Echo Y|cacls "%pf%\%%a" /T /C /P everyone:N >nul 2>nul
 Del /a /f /q %pf%\autorun.inf & md "%pf%\autorun.inf\免疫目錄不要刪除!...\" & attrib +s +h +r %pf%\autorun.inf & Echo Y|cacls "%pf%\autorun.inf" /T /C /P everyone:N >nul 2>nul
 Goto DoneclearAuto
 ) >nul 2>nul
fsutil fsinfo drivetype %pf% |find /i "可移動驅動器" && (
 For /f "tokens=2 delims==" %%a In (%pf%\autorun.inf) Do Del /a /f /q "%pf%\%%a" & md "%pf%\%%a\免疫目錄不要刪除!...\" & attrib +s +h +r "%pf%\%%a" & Echo Y|cacls "%pf%\%%a" /T /C /P everyone:N >nul 2>nul
 Del /a /f /q %pf%\autorun.inf & md "%pf%\autorun.inf\免疫目錄不要刪除!...\" & attrib +s +h +r %pf%\autorun.inf & Echo Y|cacls "%pf%\autorun.inf" /T /C /P everyone:N >nul 2>nul
 Goto DoneclearAuto
 ) >nul 2>nul
Echo.
Goto clearauto5

:DoneclearAuto
cls
Echo.
Echo  指定的磁碟 %pf% 已經成功進行了 Autorun 病毒的清除及免疫
Echo.
Echo  [1] 繼續免疫其他磁碟
Echo  [0] 返回主選單
Set choice=
Set /p choice=  請輸入您的選擇(1/0):
If "%choice%"=="1" Goto clearauto5
If "%choice%"=="0" Goto clearauto
Goto DoneclearAuto

:clearauto6
cls
Echo.
Set pf=
Set /p pf=  請輸入碟符,如"F:"(不包括引號)
Echo   即將取消免疫%pf%盤……|find /i ":"||Set pf=%pf%:&&Echo   即將取消免疫%pf%盤……
fsutil fsinfo drivetype %pf% |find /i "固定驅動器" && (
 Echo Y|cacls "%pf%\autorun.inf" /T /C /P everyone:F&Del /a /f /q "%pf%\autorun.inf" & rd /s /q "%pf%\autorun.inf">nul 2>nul
 Goto DoneUnauto
 )>nul 2>nul
fsutil fsinfo drivetype %pf% |find /i "可移動驅動器" && (
 Echo Y|cacls "%pf%\autorun.inf" /T /C /P everyone:F&Del /a /f /q "%pf%\autorun.inf" & rd /s /q "%pf%\autorun.inf">nul 2>nul
 Goto DoneUnauto
 )>nul 2>nul
Echo.
Goto clearauto6

:DoneUnauto
cls
Echo.
Echo  指定的磁碟 %pf% 已經成功解除了 Autorun 病毒免疫
Echo.
Echo  [1] 繼續解除免疫其他磁碟
Echo  [0] 返回主選單
Set choice=
Set /p choice=  請輸入您的選擇(1/0):
If "%choice%"=="1" Goto clearauto6
If "%choice%"=="0" Goto clearauto
Goto DoneUnauto

:clearauto7
cls
Rem 防止在資源管理器中徹底隱藏檔案、禁止檔案等
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL" /v CheckedValue /t REG_DWORD /d 0x00000001 /f>nul 2>nul
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2" /f>nul 2>nul
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun" /f>nul 2>nul
reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /v DisallowRun /f>nul 2>nul
Rem 防止轉移啟動組位置
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Startup /d "%USERPROFILE%\「開始」選單\程式\啟動" /f>nul 2>nul
reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Common Startup" /d "%ALLUSERSPROFILE%\「開始」選單\程式\啟動" /f>nul 2>nul
Echo.
Echo  相關注冊表恢復完畢,任意鍵返回……
pause>nul
Goto clearauto