Board logo

标题: [安全相关] 批处理版autorun.inf终结者 [打印本页]

作者: novaa    时间: 2007-12-17 20:12     标题: 批处理版autorun.inf终结者

此批处理更具本人的杀AUTORUN.INF的经验。结合批处理进行操作的。
此autorun.inf终结者 (希望允许我这样叫它)具有如下的功能:
1.暂停病毒进程(本人试过,的确可以利用taskkill终止)
2.清除病毒。
3.删除AUTORUN.INF文件。
4.恢复注册表
5.建立防御AUTORUN.INF病毒的文件夹。
ps:
由于此autorun.inf终结者(嘿嘿)不可能更具特征码判断。此批处理的原理是更具磁盘更目录是否具有autorun.inf文件判断,所以如果你磁盘更目录下又autorun.inf文件或者建立了防御autorun.inf的文件夹请认清楚后删除!确保无误删
  1. @echo off&setlocal enabledelayedexpansion&mode con cols=61 lines=20&title autorun.inf终结者
  2. color 02
  3. set "UnSafe=你的电脑可能中了Autorun.inf病毒"
  4. set "List=1.扫描全盘,2.杀除病毒,3.恢复注册表,4.防御AUTORUN病毒,5.说明,0.推出"
  5. :Menu
  6. cls&echo\&echo\
  7. for %%i in (%List%) do set /p=              %%i<nul&echo\&echo\
  8. echo           请输入你想选择的功能:
  9. set /p Choice=
  10. if "%Choice%"=="0" exit
  11. for /l %%i in (1 1 5) do if "%%i"=="%Choice%" set Ok=1
  12. if defined Ok (goto :Choice%Choice%) else (echo 错误的输入!&ping /n 3 127.1>nul&goto :Menu)
  13. :Choice1
  14. for /f "delims=" %%i in ('fsutil fsinfo drives^|more') do (
  15. set Disk=%%i
  16. if "!Disk:~1,1!"==":" (call :CheckDisk !Disk!) else (call :CheckDisk !Disk:~-3!)
  17. )
  18. if defined No (
  19. cls&echo\&echo\&echo\
  20. echo %UnSafe%&echo\&echo\
  21. echo 建议你进行杀毒,即将返回主菜单!&ping /n 3 127.1>nul
  22. goto :Menu
  23. )
  24. :CheckDisk
  25. cls&echo\&echo\&echo\&echo 正在扫描%1
  26. call rocessBar
  27. cls&echo\&echo\&echo\
  28. if exist %1autorun.inf (set No=1&call :EchoAuto %UnSafe%) else (call :EchoAuto 该磁盘不存在病毒!)
  29. goto :eof
  30. :EchoAuto
  31. echo %1&echo\&echo\
  32. echo 任意键继续扫描
  33. pause>nul
  34. goto :eof
  35. rocessBar
  36. echo\&echo\
  37. for /l %%i in (1 1 60) do set /p=^|<nul
  38. for /l %%i in (1 1 60) do set /p=<nul
  39. for /l %%i in (1 1 60) do (set /p=^><nul
  40. for /l %%i in (1 1 100) do ver>nul
  41. )
  42. goto :eof
  43. :Choice2
  44. cls&echo\&echo\
  45. if not defined No echo 建议先进行扫描!&ping /n 1 127.1>nul&echo\&echo\
  46. echo 任意键继续杀毒&echo\&echo\
  47. echo 返回主菜单请输入:B
  48. set /p Choice_2=
  49. if /i "%Choice_2%"=="B" (goto :Menu)
  50. for /f "delims=" %%i in ('fsutil fsinfo drives^|more') do (
  51. set Disk=%%i
  52. if "!Disk:~1,1!"==":" (call :ReadKill !Disk!) else (call :ReadKill !Disk:~-3!)
  53. )
  54. if defined Exist (echo 病毒已经清理完毕!即将返回主菜单!&ping /n 3 127.1>nul&goto :Menu) else (
  55. echo 没有此类病毒!即将返回主菜单!&ping /n 3 127.1>nul&goto :Menu
  56. )
  57. :ReadKill
  58. if exist  %1autorun.inf (
  59. set Exist=1
  60. for /f "skip=2 tokens=2 delims=^=" %%j in (%1autorun.inf) do (
  61. set TargetVirus=%%j
  62. echo !TargetVirus!>>Kill.ini
  63. call :TaskKill %%j
  64. del /a /q /s %%j
  65. )
  66. attrib -h -s -r %1autorun.inf
  67. del /a /q %1autorun.inf
  68. )
  69. goto :eof
  70. :TaskKill
  71. set "Target=%~nx1"
  72. taskkill /fi "IMAGENAME eq !Target!"
  73. goto :eof
  74. :Choice3
  75. cls&echo\&echo\
  76. echo 如果没有确认中毒,建议返回主菜单!
  77. echo\&echo\
  78. echo 继续请输入:C
  79. echo\&echo\
  80. echo 任意键返回!
  81. set /p Choice_3=
  82. if /i "%Choice_3%"=="C" (goto :ChoiceNext) else (goto :Menu)
  83. :ChoiceNext
  84. for /f "delims=" %%i in (Kill.ini) do (
  85. for /f "delims=" %%j in ('reg query HKLM\software\microsoft\windows\currentversion\run^|findstr /c:"%%i"') do set "Target_Virus=%%j"
  86. if "!Target_Virus!"=="" (echo 启动项中不存在此病毒!) else (
  87. for /f "tokens=1,2*" %%k in ("!Target_Virus!") do set "Target_Virus_Name=%%k"
  88. echo 确定删除!Target_Virus!选项吗?确定输入:Y
  89. set /p DeleteYN=
  90. if /i "!DeleteYN!"=="Y" do (reg delete HKLM\Software\Microsoft\Windows\Currentversion\Run /v !Target_Virus_Name! /f>nul&echo 已经删除!&ping /n 3 127.1>nul)
  91. )
  92. pause
  93. for /f "delims=" %%j in ('reg query HKCU\software\microsoft\windows\currentversion\run^|findstr /c:"%%i"') do set "Target_Virus=%%j"
  94. if "!Target_Virus!"=="" (echo 启动项中不存在此病毒!) else (
  95. for /f "tokens=1,2*" %%k in ("!Target_Virus!") do set "Target_Virus_Name=%%k"
  96. echo 确定删除!Target_Virus!选项吗?确定输入:Y
  97. set /p DeleteYN=
  98. if /i "!DeleteYN!"=="Y" do (reg delete HKCU\Software\Microsoft\Windows\Currentversion\Run /v !Target_Virus_Name! /f>nul&echo 已经删除!&ping /n 3 127.1>nul)
  99. )
  100. )
  101. reg delete HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2\shell /f>nul
  102. reg add HkCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableTaskMgr /t REG_DWORD /d 0 /f>nul
  103. reg add HkCU\Software\Microsoft\Windows\CurrentVersion\Policies\System  /v DisableRegistryTools /t REG_DWORD /d 0 /f>nul
  104. echo 注册表恢复成功!将返回主菜单!&ping /n 3 127.1>nul&goto :Menu
  105. :Choice4
  106. cls&echo\&echo\
  107. echo 再所有分区建立文件夹输入:1
  108. echo\&echo\
  109. echo 自定义分区建立文件夹输入:2
  110. echo\&echo\
  111. echo 任意键返回
  112. set /p Choice_4=
  113. if /i "%Choice_4%"=="1" goto :Choice_41
  114. if /i "%Choice_4%"=="2" (goto :Choice_42) else (goto :Menu)
  115. :Choice_41
  116. cls&echo\&echo\
  117. for %%i in (f) do (
  118. if exist %%i:\ (
  119. pushd %%i:\
  120. md autorun.inf
  121. attrib +h +r autorun.inf
  122. pushd autorun.inf
  123. md 防止autorun.inf病毒..\
  124.        )
  125. )
  126. echo 不死文件夹创建成功!将返回主目录!&ping /n 3 127.1>nul&goto :Menu
  127. :Choice_42
  128. cls&echo\&echo\
  129. set /p TargetDisk=请输入你想建立文件夹的磁盘(比如C:\):
  130. if exist TargrtDisk(
  131. pushd %%i:\
  132. md autorun.inf
  133. attrib +h +r autorun.inf
  134. pushd autorun.inf
  135. md 防止autorun.inf病毒..\
  136. ) else (echo 此磁盘目录不存在!&ping /n 3 127.1>nul)
  137. cls&echo\&echo\
  138. echo 继续请输入:0
  139. echo\&echo\
  140. echo 返回主菜单请输入:1
  141. set /p Choice_Again=
  142. if /i "%Choice_Again%"=="0" goto :Choice_42
  143. if /i "%Choice_Again%"=="1" goto :Menu
  144. :Choice5
  145. cls&echo\&echo     正在加载,请等待......
  146. echo\&echo\&echo\
  147. for /l %%i in (1 1 29) do set Table=  !table!
  148. set,=!Table!^
  149. 由于最近autorun.inf类病毒较多,在本人两朋友相继^
  150. 中毒后,本人决定写这个专杀.^
  151. 此专杀具有停止病毒创建的进程,^
  152. 删除病毒文件,恢复注册表,建立不死文件夹以防治病毒的功能的功能.^
  153. 欢迎大家测试!^
  154.                                By Novaa                                            
  155. for /l %%i in (1 1 195) do (
  156. set /p=!,:~0,30!<nul
  157. for /l %%j in (1 1 700) do set /p=<nul
  158. for /l %%k in (1,1,61) do (set /p=<nul)
  159. set ,=!,:~1!
  160. )
  161. ping /n 3 127.1>nul&goto :Menu
复制代码

作者: 小飞机    时间: 2007-12-20 23:32

前两天刚刚中过这东西,支持一下。
作者: novaa    时间: 2007-12-30 21:53

原帖由 543089122 于 2007-12-30 21:27 发表
确实有效果 我来顶一下下


哈哈。。

[ 本帖最后由 novaa 于 2007-12-30 21:55 编辑 ]
作者: lbl8029    时间: 2008-5-5 22:08

下下来看看怎么样了
作者: 葱头    时间: 2008-5-6 09:13

自己原创的?~~~~~~~~~~~~如果是的楼主就辛苦了~~~~~~~~~~~~




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2