似水年华 2007-1-26 03:03 PM
防止U盘中autorun.inf文件病毒的另一种简单方法
U盘对病毒的传播要借助autorun.inf文件的帮助。病毒首先把自身复制到u盘,然后创建一个autorun.inf,在你双击u盘时,会根据autorun.inf中的设置去运行u盘中的病毒。我们只要可以阻止autorun.inf文件的创建,那么U盘上就算有病毒也只能躺着睡大觉了。 大家可能也想到这个,但是不管给autorun.inf设置了什么属性,病毒都会更改它。我提到的方法就是,在根目录下,删除autorun.inf文件。然后,根目下建立一个文件夹,名字就叫autorun.inf。这样一来,因为在同一目录下,同名的文件和文件夹不能共存的原理,病毒就无能为力,创建不了autorun.inf文件了。以后会不会出新病毒,自动去删文件夹,然后再建立文件还不知道,但至少现阶段,这种方法是非常有效的。
Skight 2007-2-2 01:28 PM
建立autorun.inf文件夹可以,因为windows的文件管理是将目录和文件源自同一个基数据结构。
但是必须要特殊处理,不然病毒可以在创建autorun.inf文件前,先尝试删除autorun.inf。
可以这样创建特殊目录。
md Autorun.inf
rem 为了根目录美观,可以将autorun.inf文件夹隐藏一下。
rem attrib /d /s +h +s autorun.inf
rem 不过,显示autorun.inf文件夹可以让你轻松判断是否有autorun.inf类型病毒。
md autorun.inf\protected\
attrib /d /s +h +s autorun.inf\protected
md autorun.inf\protected\protected.flag...\
md autorun.inf\protected\protected.flag...\better.protected...\
rem 通过这两层特殊目录,病毒就不能简单的通过常规win32API调用删除autorun.inf目录了。
关于win32API和windows资源管理器对目录的处理详情,请自己搜索。
似水年华 2007-3-7 09:28 AM
收下你的批文件
[code]md Autorun.inf
rem 为了根目录美观,可以将autorun.inf文件夹隐藏一下。
rem attrib /d /s +h +s autorun.inf
rem 不过,显示autorun.inf文件夹可以让你轻松判断是否有autorun.inf类型病毒。
md autorun.inf\protected\
attrib /d /s +h +s autorun.inf\protected
md autorun.inf\protected\protected.flag...\
md autorun.inf\protected\protected.flag...\better.protected...\
rem 通过这两层特殊目录,病毒就不能简单的通过常规win32API调用删除autorun.inf目录了。[/code]
但问题
如果 不需要这个 autorun.inf文件夹 如何清理掉呢
知识补充一下
attrib
[table=98%][tr][td][b]attrib[/b]指令用于修改文件的属性.文件的常见属性有:只读.存档.隐藏和系统.
只读属性是指文件只可以做读的操作.不能对文件进行写的操作.就是文件的写保护.
存档属性是用来标记文件改动的.即在上一次备份后文件有所改动.一些备份软件在备份的时候会只去备份带有存档属性的文件.
隐藏属性顾名思义即为隐藏文件.在通常情况下.在资源管理器中不显示带有隐藏属性的文件.
系统属性是指标注文件为系统文件.是系统需要调用的文件.
[b]attrib[/b]指令的格式和常用参数为
[b]ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive:] [path] filename] [/S [/D]]
+ 设置属性。
- 清除属性。
R 只读文件属性。
A 存档文件属性。
S 系统文件属性。
H 隐藏文件属性。
[drive:][path][filename]
指定要处理的文件属性。
/S 处理当前文件夹及其子文件夹中的匹配文件。
/D 也处理文件夹。[/b]
attrib的用途不是很广泛.不过有的时候可以利用它来做一些方便的文件处理.比如U盘中感染了病毒.会在U盘的驱动器里建立多个隐藏的文件.其中会有一个名为autorun.inf的文件.这个文件会为U盘添加一个自动运行的菜单.如果把默认打开操作改成关联病毒程序.那么在你双击U盘的时候.就会感染U盘所带的病毒.通常情况下无法看到这些文件就没办法删除.可以用下面的步骤来清除.
以下假设我的U盘驱动器的盘符是L:."/*"与"*/"之间的内容为注释.在运行中敲入CMD确定便可以快速打开系统的命令提示符.运行的快捷键为"WIN"+"R".
[b]C:\Documents and Settings\Administrator>cd L:[/b] /*进入L盘目录*/
[b]L:\>dir/a[/b] /*这个指令是查看当前目录全部的文件.包括有隐藏属性的.可以用来查看是否有autorun.inf等文件.*/
[b]L:\>attrib autorun.inf -a -s -r -h[/b] /*去掉autorun.inf的四种属性*/
[b]L:\>del autorun.inf[/b] /*删除autorun.inf*/
然后拔掉U盘.再一次连接的时候U盘的自动运行菜单就没有了.当然.其他的病毒程序也可以如此操作.如果把autorun.inf换成*.*就可以一次对当前目录下全部文件进行操作了.如:
[b]L:\>attrib *.* -a -s -r -h[/b]
[/td][/tr][/table]
Skight 2007-3-14 11:34 AM
你知道实际目录的内部结构所以可以用rd反向清理回去?
可以使用icesword这样的非Windows资源管理器文件管理方式的工具删除.
如果用Win32API编程实现,可以从外到内递归处理特殊目录(因为这样的目录实际路径是Windows识别出来的多了个"."而已)并删除.
你可以从"运行"中直接输入实际目录名进去目录。
似水年华 2007-4-4 10:39 PM
清理这些删除Autorun.inf免疫目录
[code]
taskkill /IM Explorer.exe /F
rmdir autorun.inf /s /q
start /B explorer
[/code]
iori 2007-4-5 08:01 PM
我先前看到有人在DOS下用跟上面差不多的方法建立包涵有非法字符的文件夹来防止autorun病毒~不知哪种方法更有效果~呵呵~谢谢达人们分享自己的经验和技术~~支持~~