查看: 4768|回复: 6
收起左侧

[技术原创] 【更新】U盘病毒检测及清理工具 2.0 by hez2010 优化对autorun.inf的处理方式

[复制链接]
hez2010
发表于 2016-2-20 23:20:05 | 显示全部楼层 |阅读模式
本帖最后由 hez2010 于 2016-2-21 19:54 编辑

看见了http://bbs.kafan.cn/thread-1935417-1-1.html这个帖子,发现这里面的程序检测U盘病毒太局限,而且不一定所有人的U盘都是从h盘开始,于是写了一个比较完善的U盘病毒检测批处理,源码完全开放。欢迎拍砖。



更新日志:
【2016/2/21】2.0
1、优化对Autorun.inf的处理方式,重构Autorun.inf,不影响正常使用
2、细节调整
3、优化文件属性检查的方式
【2016/2/20】1.0
1、创建程序

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. title U 盘病毒检测及清理工具 2.0 by hez2010
  4. color 3f
  5. cd /d %~dp0
  6. pushd %~dp0
  7. set /a No.=0

  8. :main
  9. for /f %%a in ('wmic logicaldisk where "drivetype='2'" get DeviceID ^|findstr :') do (
  10.         cls
  11.         echo.
  12.         echo  已检测到 U 盘, 正在处理 %%a ...
  13.         call :scan %%a
  14. )
  15. cls
  16. echo.
  17. echo  已完成, 共发现 !No.! 异常项目
  18. echo.
  19. echo  任意键退出
  20. pause>nul
  21. exit

  22. :scan
  23. set Drive=%~1
  24. if /i "!Drive!" == "" goto :eof
  25. if not exist "!Drive!" goto :eof
  26. cd /d "!Drive!">nul
  27. attrib -h -s -r "!Drive!\autorun.inf" >nul 2>nul
  28. echo.
  29. echo    检查 autorun.inf
  30. echo    -----------------------------
  31. if exist "!Drive!\autorun.inf" (
  32.         del /f /q "%temp%\autorun_new.inf">nul 2>nul
  33.         for /f "tokens=*" %%m in ('"type !Drive!\autorun.inf 2>nul"') do (
  34.                 set /a allow=1
  35.                 for /f "tokens=1,2,3 delims==" %%i in ("%%m") do (
  36.                         if /i "%%i" == "Shellexecute" (
  37.                                 if exist "%%j" (
  38.                                         set /a No.+=1&set /a allow=0
  39.                                         del /a /f /q %%j >nul 2>nul
  40.                                         echo      发现可疑文件: %%j, 已解除威胁
  41.                                 )
  42.                                 if /i not "%%k"=="" if exist "%%k" (
  43.                                         set /a No.+=1&set /a allow=0
  44.                                         del /a /f /q %%k >nul 2>nul
  45.                                         echo      发现可疑文件: %%k, 已解除威胁
  46.                                 )
  47.                         )
  48.                         if /i "%%i" == "Open" (
  49.                                 if exist "%%j" (
  50.                                         set /a No.+=1&set /a allow=0
  51.                                         del /a /f /q %%j >nul 2>nul
  52.                                         echo      发现可疑文件: %%j, 已解除威胁
  53.                                 )
  54.                                 if /i not "%%k"=="" if exist "%%k" (
  55.                                         set /a No.+=1&set /a allow=0
  56.                                         del /a /f /q %%k >nul 2>nul
  57.                                         echo      发现可疑文件: %%k, 已解除威胁
  58.                                 )
  59.                         )
  60.                 )
  61.                 if !allow!==1 echo %%m>>"%temp%\autorun_new.inf"
  62.         )
  63.         move /y "%temp%\autorun_new.inf" "!Drive!\autorun.inf">nul
  64. )
  65. echo.
  66. echo    检查 AutoIt 病毒
  67. echo    -----------------------------
  68. if exist "!Drive!\skypee" (
  69.         set /a No.+=1
  70.         rd /s /q "!Drive!\skypee" >nul 2>nul
  71.         echo      发现 AutoIt: "!Drive!\skypee", 已解除威胁
  72. )
  73. echo.
  74. echo    检查伪装快捷方式
  75. echo    -----------------------------
  76. for /f "delims=" %%i in ('"dir /a /s /b !Drive! 2>nul"') do (
  77.         if exist "%%i.lnk" (
  78.                 set /a No.+=1
  79.                 del /a /f /q "%%i.lnk" >nul 2>nul
  80.                 echo      发现可疑文件: "%%i.lnk", 已解除威胁
  81.         )
  82.         if exist "%%i.exe" (
  83.                 set /a No.+ =1
  84.                 del /a /f /q "%%i.exe" >nul 2>nul
  85.                 echo      发现可疑文件: "%%i.exe", 已解除威胁
  86.         )
  87. )
  88. echo.
  89. echo    检查隐藏文件
  90. echo    -----------------------------
  91. for /f "tokens=* delims=" %%i in ('"dir /a /s /b !Drive! 2>nul"') do (
  92.         for /f "tokens=1* delims= " %%q in ('attrib "%%a"') do (
  93.                 echo %%q|findstr "h" >nul
  94.                 if /i !errorlevel! equ 0 (
  95.                         set /a No.+=1
  96.                         attrib -h -s -r "%%i" >nul 2>nul
  97.                         echo      发现隐藏文件: "%%i", 已恢复正常
  98.                 )
  99.         )
  100. )
  101. echo.
  102. echo    此 U 盘检查完毕, 任意键继续检查下一个 U 盘
  103. pause>nul
  104. goto :eof
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 1人气 +1 收起 理由
230f4 + 1 版区有你更精彩: )

查看全部评分

欧阳宣
头像被屏蔽
发表于 2016-2-21 01:31:49 | 显示全部楼层
U盘上的隐藏文件夹不一定全是威胁吧
白露为霜
发表于 2016-2-21 01:34:53 | 显示全部楼层
可以玩玩
popu111
发表于 2016-2-21 14:39:03 | 显示全部楼层
我弄个autorun改图标用你也给我删
siss
发表于 2016-2-21 16:07:27 | 显示全部楼层
让我想起了那个学校机房u盘病毒横行的日子。
hez2010
 楼主| 发表于 2016-2-21 16:23:43 | 显示全部楼层
欧阳宣 发表于 2016-2-21 01:31
U盘上的隐藏文件夹不一定全是威胁吧

没有删除隐藏文件,只是恢复了不隐藏的属性
hez2010
 楼主| 发表于 2016-2-21 19:54:32 | 显示全部楼层
【2016/2/21】2.0
1、优化对Autorun.inf的处理方式,重构Autorun.inf,不影响正常使用
2、细节调整
3、优化文件属性检查的方式
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

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

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-9 01:28 , Processed in 0.136889 second(s), 18 queries .

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

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