标题: [安全相关] 批处理版U盘清道夫 [打印本页]
作者: youxi01 时间: 2008-12-1 10:42 标题: 批处理版U盘清道夫
学校病毒横行:隐藏正常文件夹,同时还生成与文件夹同名的exe文件,给教学工作带来了非常多的不便。
鉴于此,作此批处理,逆病毒而行,名曰“清道夫”,代码初步完成功能,有待进一步完善,欢迎各位提出意见建议!- @echo off
- mode con lines=22 cols=65
- Title U盘清道夫
- color 1f
- set /a Snum=0
- Rem '/*///////////说明展示/////////////////
- echo ╭──────╮
- echo ╭──────────┤ 程序功能 ├──────────╮
- echo │ ╰──────╯ │
- echo │ │
- echo │ 1、去除U盘根目录文件夹的所有属性(包括隐藏) │
- echo │ │
- echo │ 2、删除U盘根目录及子文件夹中与文件夹同名的 │
- echo │ exe文件,需强烈注意!!! │
- echo │ │
- echo │ 3、本程序会处理插入的所有U盘对象 │
- echo │ │
- echo │────────────────────────────│
- echo │ 作者:2laoshi │
- echo │ 博客:http://www.2laoshi.cn │
- echo │ ──────────────────── │
- echo │ 声明:使用本程序导致的损失本人概不负责!! │
- echo ╰────────────────────────────╯
- echo.
- echo 按任意键开始 退出请按右上角"×"关闭
- echo ─────────────────────────────
- pause>nul
- cls
- SETLOCAL ENABLEDELAYEDEXPANSION
- echo.&echo 正在检测磁盘驱动器,请稍等...
- for /f "delims=\" %%i in ('fsutil fsinfo drives^|more') do (
- set DriveName=%%i
- set DriveName=!DriveName:~-2!
- dir /ad /b !DriveName!>nul 2>nul &&(
- fsutil fsinfo drivetype !DriveName!|find "可移动">nul 2>nul &&(
- set /a Snum+=1
- set !Snum!=!DriveName!
- )
- )
- )
- :'*/结束相关进程、删除病毒文件;
- taskkill /f /im Global.exe>nul 2>nul
- del /f /a /q %systemroot%\system32\dllcache\Recycler.{645FF040-5081-101B-9F08-00AA002F954E}\Global.exe
- taskkill /f /im system.exe>nul 2>nul
- del /f /a /q %systemroot%\system32\dllcache\Recycler.{645FF040-5081-101B-9F08-00AA002F954E}\system.exe
- :'*/清理病毒文件;
- if !Snum! GTR 0 (
- mode con cols=90 lines=30
- for /l %%i in (1 1 %Snum%) do call :clear !%%i!) else echo.&echo 没发现U盘!!
- pause>nul
- goto :eof
- :Clear 磁盘名称
- cls
- set "flag="
- echo 正在清理 %~1 盘病毒文件,请稍等...
- set "DriveName=%~1"
- echo ===================================================&echo.
- for /f "delims=" %%i in ('dir /b /s /ad "%DriveName%"') do (
- if exist "%%~i.exe" (
- echo 正在清理: %%~i.exe
- attrib -r -h -s -a "%%~i.exe"
- del /q /f "%%~i.exe" 2>nul
- set flag=ok
- )
-
- )
- if not defined flag echo 恭喜,没发现相关病毒!
- echo.&echo ====================================================
- echo 准备改回设置,请稍等...&echo.
- for /f "delims=" %%i in ('dir /b /ad /ah "%DriveName%" 2^>nul') do (
- echo 正在去除 %DriveName%\%%i 隐藏、系统属性
- attrib -r -h -s -a "%DriveName%\%%i"
- del /q /f "MS-DOS.com" 2>nul)
- echo.&echo 更改完毕!
- goto :eof
复制代码
作者: pusofalse 时间: 2008-12-1 11:00
有youxi01这个杀毒软件呢~~~^_^
直接删除是否删除不了,可能病毒已经正在运行~
作者: youxi01 时间: 2008-12-1 12:33
呵呵,病毒进程没有定时检测这些文件
目前来说,能解决学校的问题
作者: a794685135 时间: 2008-12-1 20:46
囧 , 上次别人电脑上中了这毒, 我用类似的方法把QQ.exe删了
清完了之后应该再检测一下还有没有
作者: youxi01 时间: 2008-12-1 21:05
原帖由 a794685135 于 2008-12-1 20:46 发表
囧 , 上次别人电脑上中了这毒, 我用类似的方法把QQ.exe删了
清完了之后应该再检测一下还有没有
是的
所以这里只处理U盘,我想U盘很少出现这种情况的
作者: a794685135 时间: 2008-12-23 16:41
问题是一中毒, 其他的盘也有了哇~~~
作者: youxi01 时间: 2008-12-30 00:12
回复LS,有需要的话,可以稍做改装,即可处理其它盘
作者: youxi01 时间: 2008-12-30 00:14
考虑到有些U盘检测软件会在U盘生成autorun.inf(就目前阶段,对阻止病毒没有任何作用,早就过时),使用原代码可能无法删除相应的autorun.inf.exe文件。
现代码已做更新,可以处理autorun.inf.exe.
作者: youxi01 时间: 2009-1-4 13:58
今天在班上的时候,发现原来的代码并不能解决U盘文件夹被隐藏的问题,因为病毒进程正在运行,批处理一边改回设置,而病毒又将其改了回去。
后来通过任务管理器对病毒进程稍做分析,发现了其基本机理,再找到相应对策,更新了代码,该问题基本解决。
作者: cjiabing 时间: 2009-3-27 16:09
拜读大作1~我以前的刚好和你的相反,只杀进程和删除病毒,没有杀U盘里的病毒。
作者: BillGates 时间: 2009-4-24 21:12
这个就是我们学校的需要!
作者: BillGates 时间: 2009-4-24 21:15 标题: 回复 8楼 的帖子
autorun.inf.exe这个还是没解决。
作者: BillGates 时间: 2009-4-24 21:16 标题: 回复 1楼 的帖子
我测试了一下,为什么和文件夹名相同的EXE还是没删除呢,还有我的是Windows xp sp2 Home 版,用不了那个结束进程的东西!
[ 本帖最后由 BillGates 于 2009-4-24 21:21 编辑 ]
作者: garyng 时间: 2011-9-1 21:29
超适合我那台旧电脑~
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |