在网上找了许多解决方法,大体都是一个思路:通过组策略禁止自动播放 或修改注册表禁止自动播放 或者在U盘下自己建立一个autorun.inf文件防止病毒建立(其实病毒建立的时候都是强行覆盖的)
1注册表法
禁止Autorun.INF文件,完全禁用U盘自动播放功能.
在网上找了许多解决方法 大体都是一个思路:通过组策略禁止自动播放 或修改注册表禁止自动播放 或
者在U盘下自己建立一个autorun.inf文件防止病毒建立(其实病毒建立的时候都是强行覆盖的)
但是只用这种方法只是不让病毒自动运行 要想打开U盘 还得点右键选择打开 非常麻烦 并且一不小心双击U盘 就会感染病毒,通过组策略禁止所有磁盘自动播放可以解决,但是刚插进的U盘并不会禁止自动播放。
本人想了许久找到一种可以杜绝U盘病毒自动传播的方法 :
首先 说明U盘病毒传播的原理
系统在插入U盘的时候 会根据这个AUTORUN.INF文件在注册表
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2]下建立一
个u盘的关联项
使双击打开指定的程序(如病毒程序)
所以说只需禁止在此注册表位置创建子项即可(本人用的是修改权限法)
下面说 禁止病毒的具体方法
点开始->运行 输入 regedit.exe 回车
打开注册表编辑器后 展开项
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MountPoints2]
右键点MountPoints2 选择权限
依次点击 安全中的用户和组 在下面的权限中 都改成拒绝
刷新一边 此后 即使U盘有病毒 也不会激活 双击U盘会正常进入U盘.
2、批处理法
创建autorun.inf文件使病毒无法替换此文件。
先说明原理。。
大家都知道在Windows中“\”符号是路径的分隔符号,比如“C:\Windows\”的意思就是C分区中的Windows文件夹,
“C:\Windows\System.exe”的意思就是C分区中的Windows文件夹中的System.exe文件,好继续我们假设一下:
如果文件名中有“\”符号会怎么样呢?假如“S\”是一个文件夹的名字,这个文件夹位于:“F:\”,他的路径就是“F:\S\”,
当我们试图访问的时候Windows会错误的认为我们要打开的文件是C分区的S文件夹,这样Windows就无法打开并且会返回一个错误,
因为以上的路径并不存在。
也许你现在正在尝试创建“S\”文件,但是Windows会提示你:“\”符号是不能作为文件、文件夹的名字的。
看来微软还是早已想到这一点了的。OK我们继续进行,就不信不能建立包含“\”符号的文件。
进入Windows后 点击:开始>运行 然后输入“cmd”并回车
(如果是Win98请输入“COMMAND”),这时你会看到Windows的命令控制台,我们就是要利用它完成我们剩下的测试,
以下{}中的字符是我的注释:
----------------------------------------------
c:\mkdir s\ {我们的第一次尝试,结果Windows只创建了S文件夹"\"被忽略掉了}
c:\mkdir s\s1\ {还是失败,Windows先创建了S文件夹,然后在S内创建s1文件夹}
c:\mkdir s.\ {"s.\"被解析成S".\"又被忽略了}
子目录或文件 s.\ 已经存在。
c:\mkdir s..\ {终于成功了,现在你可以在资源管理器看到"s."但却无法打开/删除}
c:\mkdir s...\ {又成功了,在资源浏览器能看到"s.."可以打开但是无法删除}
----------------------------------------------
为什么会这样?我们先说你看到的这个“S.”文件夹,他即不能打开也不能删除,不能打开是
因为他的实际路径是“c:\s..\”(我们自己创建的所以可以确定他的实际路径)
但是在Windows资源管理器中名字变成了“S.”也就是说当你试图打开它的时候Windows实际上
尝试打开“c:\s.\”当然是不能打开的,文件并不存在,所以Windows会报错。不能删除也是因为这个,
Windows把一个实际存在的文件路径错误的解析为一个不存在的路径,并进行xx作当然是无法完成的。
该说“S..”这个文件了,这个文件可以打开,但是却无法删除。等等……打开?你以为Windows真的是打开了我们
创建的“s...\”文件了吗?我们做下面的试验你就明白了:
----------------------------------------------
c:\copy 1.exe s...\ {复制刚刚你的文件到“s...\}
已复制 1 个文件。
c:\
---------------------------------------------
好了那就说一下删除方法吧:
-----------------------------------------
c:\rmdir s..\
目录不是空的。
c:\rmdir s..\ /s
s..\, 是否确认(Y/N)? y
c:\rmdir s...\ /s
s...\, 是否确认(Y/N)? y