查看: 10904|回复: 77
收起左侧

[原创工具] U盘病毒检测脚本[VBS]

  [复制链接]
RandomOS
发表于 2010-6-22 13:30:13 | 显示全部楼层 |阅读模式
本帖最后由 RandomOS 于 2010.6.22 13:33 编辑

做潜水党好长时间了,在卡饭向许多高手学到了很多东西,现在也发点自己写的东西吧。没什么技术含量的东西,大家别见笑。
之前去打印店回来的时候,每次U盘里都有一大堆病毒(以文件夹病毒为主),虽然清除也很简单,但每次都要删除病毒文件并恢复隐藏的文件夹,也是蛮烦人的,所以就写了个自动清除的脚本。
  1. 'Code by RandomOS 2010-03-26
  2. On Error Resume Next
  3. Dim Udisks, VirusList, IsDelete
  4. Set fso = CreateObject("Scripting.FileSystemObject")
  5. Set f = fso.GetFile(WScript.ScriptFullName)

  6. Set Disks = fso.Drives
  7. For Each Disk In Disks
  8. If Disk.IsReady And Disk.DriveType = 1 Then
  9. Udisks = Udisks &","&Disk.DriveLetter
  10. End If
  11. Next

  12. If Udisks = "" Then
  13. Msgbox "没有检测到U盘!",64,"提示"
  14. Wscript.Quit
  15. End If

  16. Udisks = Right(Udisks,len(Udisks)-1)
  17. UPan = Split(Udisks, ",")

  18. For Each U In UPan
  19. FindVirus(U&":")
  20. Next

  21. ClrWorm()

  22. If VirusList = "" Then
  23. Msgbox "未发现可疑文件!",64,"提示"
  24. Else
  25. IsDelete = Msgbox("发现以下可疑文件,是否删除?"& vbCrLf & VirusList , 4)
  26. If IsDelete = 6 Then
  27. ClrVirus()
  28. AntiAutoRun()
  29. Msgbox "可疑文件已删除!",64,"提示"
  30. ElseIf IsDelete = 7 Then
  31. Msgbox "您点了否!",64,"提示"
  32. End If
  33. End If

  34. SafeOpen()

  35. Sub FindVirus(Path)
  36. Set Folder = fso.GetFolder(Path) '查找根目录下的隐藏文件
  37. For Each f1 In Folder.Files '隐藏文件 32+2 ————— 32+1+2+4
  38. If (f1.Attributes > 1 And f1.Attributes < 8) Or (f1.Attributes > 33 And f1.Attributes < 40) Then
  39. VirusList = VirusList & Path & f1.name & vbCrLf
  40. ElseIf LCase(f1.name) = "autorun.inf" Then
  41. VirusList = VirusList & Path & f1.name & vbCrLf
  42. ElseIf LCase(f1.name) = "system.dll" Then
  43. VirusList = VirusList & Path & f1.name & vbCrLf
  44. End If
  45. Next

  46. For Each f1 In Folder.SubFolders '查找文件夹病毒
  47. If (fso.FileExists(Path&f1.name&".exe")) Then
  48. VirusList = VirusList & Path & f1.name&".exe" & vbCrLf
  49. ElseIf (fso.FileExists(Path&f1.name&".lnk")) Then
  50. VirusList = VirusList & Path & f1.name&".lnk" & vbCrLf
  51. ElseIf (fso.FileExists(Path&f1.name&".scr")) Then
  52. VirusList = VirusList & Path & f1.name&".scr" & vbCrLf
  53. ElseIf (fso.FileExists(Path&f1.name&".com")) Then
  54. VirusList = VirusList & Path & f1.name&".com" & vbCrLf
  55. End If
  56. Next

  57. VirusName = Split(VirusList, vbCrLf)
  58. VirusList = ""
  59. For i = 0 To Ubound(VirusName)-1 '去重
  60. For j = i+1 To Ubound(VirusName)
  61. If VirusName(i) = VirusName(j) Then
  62. VirusName(i) = ""
  63. Exit For
  64. End If
  65. Next
  66. If VirusName(i) <> "" Then
  67. VirusList = VirusList & VirusName(i) & vbCrLf
  68. End If
  69. Next
  70. End Sub

  71. Sub ClrVirus()
  72. VirusList = Left(VirusList, Len(VirusList)-2)
  73. VirusName = Split(VirusList, vbCrLf)
  74. '删除可疑文件
  75. For Each Virus In VirusName
  76. If fso.FileExists(Virus) Then
  77. fso.DeleteFile Virus, true
  78. End If
  79. Next
  80. '恢复文件夹属性
  81. For Each Virus In VirusName
  82. FolderPath = Left(Virus,Len(Virus)-4)
  83. If fso.FolderExists(FolderPath) Then
  84. Set f = fso.GetFolder(FolderPath)
  85. f.attributes = 16
  86. End If
  87. Next
  88. End Sub

  89. Sub ClrWorm()
  90. For Each U In UPan
  91. If fso.FolderExists(U &":\RECYCLER") Then
  92. fso.DeleteFolder U &":\RECYCLER", true
  93. End If
  94. Next
  95. End Sub

  96. Sub AntiAutoRun()
  97. For Each U In UPan
  98. If fso.FolderExists(U&":\Autorun.inf") = false Then
  99. fso.CreateFolder(U&":\Autorun.inf")
  100. Set f = fso.GetFolder(U&":\Autorun.inf")
  101. f.Attributes = 23
  102. End If
  103. If fso.FolderExists(U&":\system.dll") = false Then
  104. fso.CreateFolder(U&":\system.dll")
  105. Set f = fso.GetFolder(U&":\system.dll")
  106. f.Attributes = 23
  107. End If
  108. Next
  109. End Sub

  110. Sub SafeOpen()
  111. Set ws = CreateObject("Wscript.Shell")
  112. For Each U In UPan
  113. ws.Run U &":"
  114. Next
  115. End Sub
复制代码

复制以上代码,另存为“文件名.vbs ” 即可。或者直接下载我上传的附件。
每次插入U盘后,双击这个VBS,即可检测U盘下有没有文件夹病毒,按提示操作即可,最后脚本还会安全的打开你的U盘。如果嫌VBS的图标不好看的话,可以将其发送到桌面快捷方式,改一下图标。
U盘病毒检测.rar (1.22 KB, 下载次数: 379)

评分

参与人数 3经验 +15 人气 +2 收起 理由
枯木菩提 + 1 感谢分享!
tawny2008 + 15 感谢提供分享:)
wo1234 + 1 不错,学习一下

查看全部评分

RandomOS
 楼主| 发表于 2010-6-22 13:34:40 | 显示全部楼层
啊,我的缩进啊。全没了。
恶意代码
发表于 2010-6-22 14:37:01 | 显示全部楼层
支持+学习,谢谢分享
107
发表于 2010-6-22 16:11:52 | 显示全部楼层
支持下动手的作品
zpwdf
发表于 2010-6-22 16:56:45 | 显示全部楼层
谢谢了,留着试用。
wo1234
发表于 2010-6-22 18:00:49 | 显示全部楼层
前排学习,谢谢楼主
tawny2008
发表于 2010-6-22 19:01:19 | 显示全部楼层
自己动手丰衣足食
无影
发表于 2010-6-23 14:24:57 | 显示全部楼层
咱不懂VBS这东西 给你顶个、
xjb114
发表于 2010-6-24 13:29:01 | 显示全部楼层
支持楼主
000011139
发表于 2010-6-24 14:33:18 | 显示全部楼层
楼主写得不错,,可惜我只会用cmd写!!
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-12-26 13:14 , Processed in 0.119763 second(s), 20 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表