中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-07 07:59
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]U盘病毒免疫,处女作。 查看 4,230 回复 38
16 发表于 2007-04-17 07:58 ·  中国 安徽 蚌埠 电信
中级用户
★★
积分 292
发帖 137
注册 2007-04-03 01:59
19年会员
UID 83758
性别 男
状态 离线
呵呵 没有看懂 能否解释下是什么原理么?
17 发表于 2007-04-17 22:40 ·  中国 重庆 巴南区 电信
初级用户
积分 33
发帖 16
注册 2007-03-04 17:48
19年会员
UID 80772
性别 男
状态 离线
原理简单:
U盘传播的病毒通常是autorun.inf文件起作用,预先在跟目录建立此文件既可起到预防作用。为了更安全尽量使此文件不可删除修改等。。。。。。这里就利用了window特殊文件名起到防删除的作用。
18 发表于 2007-04-17 22:42 ·  中国 重庆 巴南区 电信
初级用户
积分 33
发帖 16
注册 2007-03-04 17:48
19年会员
UID 80772
性别 男
状态 离线
经"zh159"朋友提点对此进行了简单修改
@echo off
color 2f
title U盘autorun病毒免疫
mode con lines=20
:Menu
cls
echo +++++++++++++++++
echo ++是否对您的U盘做病毒免疫处理?++
echo ++ 输入(Y)继续 输入(N)退出 ++
echo +++++++++++++++++
set choose =
set /p choose=请选择:
if '%choose%'=='y' goto Immunity
if '%choose%'=='d' goto del
if '%choose%'=='n' (goto :exit) else goto Wrong
:Wrong
cls
echo +++++++++++++
echo + 输入错误!任意键重试! +
echo + BY 晴天飘雪 QQ:258106347 +
echo +++++++++++++
pause>nul
goto :Menu
:del
for %%i in (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 %%i: | findstr "可移动" >nul 2>nul && (
%%i:
attrib autorun.inf -r -h -s
attrib autorun.pif -r -h -s
rd autorun.inf\prn\
rd autorun.inf\pig..\
rd autorun.pif\prn\
rd autorun.pif\pig..\
rd autorun.inf
rd autorun.pif
echo 免疫成功清除,按任意键退出.
pause>nul
exit
)
)
:Immunity
cls
echo 开始免疫……
for %%i in (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 %%i: | findstr "可移动" >nul 2>nul && (
%%i:
@echo off
echo ++++U盘autorun病毒免疫系统++++
echo ++采用简单的命令编写允许任意修改++
echo ++注意:本程序只是简单的免疫不提++
echo ++供病毒清除功能。若提示子目录或++
echo ++文件已存在,则可以已被病毒感染++
echo ++或你对此盘做过个性设置。 ++
echo +++++++++++++++++++
echo 晴天飘雪
echo 2007年4月13日
pause
@echo off
md autorun.inf autorun.inf\prn\ autorun.inf\pig..\
md autorun.pif autorun.pif\prn\ autorun.pif\pig..\
attrib autorun.inf +r +h +s
attrib autorun.pif +r +h +s
echo 恭喜您autorun病毒免疫成功!按任意键退出程序。
pause>nul
exit
)
)
echo 没有检测到可移动磁盘。
pause>nul
19 发表于 2007-04-17 23:19 ·  中国 安徽 蚌埠 电信
中级用户
★★
积分 292
发帖 137
注册 2007-04-03 01:59
19年会员
UID 83758
性别 男
状态 离线
想问下 既然是在根目录下的 autorun.inf 文件可能导致中毒后误操作
你把 autorun.inf 放的畸形文件夹中 XP 是否能认出来 ? 如果认不出来不就是判定没有 autorun.inf 么,若此时中autorun.inf病毒 一样会在根目录下产生 autorun.inf 文件这样就失去了原先对 autorun.inf的保护? 不知道楼主有没有测试下
顺便希望楼主做个反免疫 什么程序既然能安装 都应该能卸载吧
: )
不管如何(想中autorun.inf病毒时中不了 不想中就中 -_-)
我都顶下 编的不错 值得学习~

[ Last edited by bw070 on 2007-4-17 at 10:22 AM ]
20 发表于 2007-04-18 04:39 ·  中国 安徽 合肥 蜀山区 电信
初级用户
积分 33
发帖 16
注册 2007-04-18 03:34
19年会员
UID 85561
性别 男
状态 离线
呵呵,不错,思路都差不多,利用con/aux/prn

最好用%RANDOM%来命名pig..\

如MD %RANDOM%....\

后面点的数量用%RANDOM%和SET来控制,防止病毒删除你

另外,我发现金山毒霸会删除此类AUTORUN.INF文件夹,而不管它是不是文件AUTORUN.INF,很郁闷,明显的是为虎作伥嘛!

原来用的是网络巡警的免疫器,他的可以设置PIG..这类文件夹为隐藏
21 发表于 2007-04-19 13:14 ·  中国 山东 菏泽 联通
新手上路
积分 8
发帖 3
注册 2007-04-18 00:12
19年会员
UID 85538
性别 男
状态 离线
Originally posted by zh159 at 2007-4-14 12:44 AM:
稍稍简化:
md autorun.inf autorun.inf\prn\ autorun.inf\pig..\
md autorun.pif autorun.pif\prn\ autorun.pif\pig..\


根据老兄的方法,我制成了个.bat文件,运行后,结果在硬盘上里面产生两个文件夹autorun.pif和autorun.inf,请问怎么删除这两个文件夹?
22 发表于 2007-04-19 14:00 ·  中国 山东 菏泽 联通
新手上路
积分 8
发帖 3
注册 2007-04-18 00:12
19年会员
UID 85538
性别 男
状态 离线
Originally posted by 369d at 2007-4-19 12:14 AM:


根据老兄的方法,我制成了个.bat文件,运行后,结果在硬盘上里面产生两个文件夹autorun.pif和autorun.inf,请问怎么删除这两个文件夹?


通过在网上查阅资料,此问题已经解决。
方法如下:
这两个文件夹是位于F:\MyDownloads\up下的
所以我就编了个.BAT文件:
rd F:\MyDownloads\up\autorun.inf\pig~1
rd F:\MyDownloads\up\autorun.pif\pig~1
rd /s \\.\F:\MyDownloads\up\autorun.pif\prn
rd /s \\.\F:\MyDownloads\up\autorun.inf\prn

运行后,则可以完全删除了
23 发表于 2007-04-19 14:45 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
Originally posted by 369d at 2007-4-19 00:14:


根据老兄的方法,我制成了个.bat文件,运行后,结果在硬盘上里面产生两个文件夹autorun.pif和autorun.inf,请问怎么删除这两个文件夹?

rd/s/q autorun.inf\prn\
rd/s/q autorun.inf
rd/s/q autorun.pif\prn\
rd/s/q autorun.pif
24 发表于 2007-04-20 03:53 ·  中国 重庆 巴南区 电信
初级用户
积分 33
发帖 16
注册 2007-03-04 17:48
19年会员
UID 80772
性别 男
状态 离线
Originally posted by NeedJava at 2007-4-17 03:39 PM:
呵呵,不错,思路都差不多,利用con/aux/prn

最好用%RANDOM%来命名pig..\

如MD %RANDOM%....\

后面点的数量用%RANDOM%和SET来控制,防止病毒删除你

另外 ...

原文件中已有说明 只是没表现出来
for %%i in (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 %%i: | findstr "可移动" >nul 2>nul && (
%%i:
attrib autorun.inf -r -h -s
attrib autorun.pif -r -h -s
rd autorun.inf\prn\
rd autorun.inf\pig..\
rd autorun.pif\prn\
rd autorun.pif\pig..\
rd autorun.inf
rd autorun.pif
echo 免疫成功清除,按任意键退出.
pause>nul
exit
25 发表于 2007-04-20 03:55 ·  中国 重庆 巴南区 电信
初级用户
积分 33
发帖 16
注册 2007-03-04 17:48
19年会员
UID 80772
性别 男
状态 离线
汗。。。。。。引用错误
26 发表于 2007-04-20 22:45 ·  中国 浙江 宁波 鹏博士宽带
初级用户
积分 28
发帖 14
注册 2006-08-16 14:31
19年会员
UID 60645
状态 离线
不错。学习一下
27 发表于 2007-06-30 17:20 ·  中国 山东 潍坊 电信
初级用户
积分 86
发帖 33
注册 2007-06-30 09:43
19年会员
UID 92743
性别 男
状态 离线
楼主,可不可以帮我解释一下下面这一行程序?????
fsutil fsinfo drivetype %%i: | findstr "可移动" >nul 2>nul && (

fsutil fsinfo drivetype %%i: | findstr "可移动" 这个我知道是查询驱动器是不是可移动驱动器,也就是U盘. >nul 是把结果输出到nul 空设备.

2>nul 是为什么呢??? 为什么要用2>nul 来做判断条件呢??
28 发表于 2007-06-30 17:32 ·  中国 山东 潍坊 电信
初级用户
积分 86
发帖 33
注册 2007-06-30 09:43
19年会员
UID 92743
性别 男
状态 离线
Originally posted by bw070 at 2007-4-17 11:19 PM:
想问下 既然是在根目录下的 autorun.inf 文件可能导致中毒后误操作
你把 autorun.inf 放的畸形文件夹中 XP 是否能认出来 ? 如果认不出来不就是判定没有 ...


自动打开是因为AUTORUN.INF文件,免疫是建立一个名为 autorun.inf 的文件夹,病毒感染U盘的时候,会创建AUTORUN.INF文件,可是 WINDOWS不允许文件跟文件夹重名,所以,文件会建立不上,这样,就起到了免疫的作用。 另外,有些病毒比较厉害,会删除AUTORUN。INF文件夹,所以为了防止删除autorun.inf文件夹,就在这个文件夹下面,再创建一个 特殊的文件夹,防止文件夹被删除,不过,如果要是病毒可以删除这些特殊的文件夹,那么,这类免疫就失效了。

360安全卫士有U盘免疫检控的功能,值得一用。
29 发表于 2007-06-30 17:52 ·  中国 广东 佛山 电信
高级用户
★★
我思故我在
积分 512
发帖 228
注册 2007-01-21 10:31
19年会员
UID 77225
性别 男
状态 离线
一个下午?
我学了有一个月的时间了,和楼主一比,我才发现——原来我是弱智的^_^!
我确实是只菜鸟,而且这里X人太多,所以我不敢装X。谁要再说我装X,我就XXOO他。
30 发表于 2007-07-01 10:12 ·  中国 山东 潍坊 电信
初级用户
积分 86
发帖 33
注册 2007-06-30 09:43
19年会员
UID 92743
性别 男
状态 离线
Originally posted by sgw888 at 2007-6-30 05:20 PM:
楼主,可不可以帮我解释一下下面这一行程序?????
fsutil fsinfo drivetype %%i: | findstr "可移动" >nul 2>nul && (

fsutil fsinfo drivetype %%i: | findstr ...

百度搜了一个2>NUL 的资料,明白了,原来 >nul 2>nul 是不能分隔的,意思是不管命令是否执行成功,都不产生屏幕提示. 
论坛跳转: