U盘中了磁碟机病毒怎么办

问题:

  U盘在中毒了的电脑上使用后,里面的文件夹均消失了,这是因为里面的文件夹属性被改为隐藏属性。通过查看显示隐藏文件夹发现,所有隐藏了的文件夹的隐藏属性被锁定,无法通过鼠标右键查看文件夹属性的方法改回来。

 

 背景:
        磁碟机病毒又名dummycom病毒,是近一个月来传播最迅速,变种最快,破坏力最强的病毒。据360安全中心统计每日感染磁碟机病毒人数已逾100,1000用户!“磁碟机”现已经出现100余个变种,目前病毒感染和传播范围正在呈现蔓延之势。病毒造成的危害及损失10倍于“熊猫烧香”。
        磁碟机病毒并不是一个新病毒,早在2007年2月的时候,就已经初现端倪。当时它仅仅作为一种蠕虫病毒,成为所有反病毒工作者的关注目标。而当时这种病毒的行为,也仅仅局限于,在系统目录%system%system32com生成lsass.exe和smss.exe,感染用户电脑上的exe文件。病毒在此时的传播量和处理的技术难度都不大。

然而在病毒作者经过长达一年的辛勤工作——数据表明,病毒作者几乎每两天就会更新一次病毒——之后,并吸取了其他病毒的特点(例如臭名昭著的AV终结者,攻击破坏安全软件和检测工具),结合了目前病毒流行的传播手段,逐渐发展为目前感染量、破坏性、清除难度都超过同期病毒的新一代毒王。  
 原因:

  这是因为将文件夹加上了系统属性后,隐藏属性默认锁定了。

  解决方案:

  确保病毒已经杀掉后,可以用下面的方法来恢复文件夹属性

  方法一:手动使用attrib命令修改

  1、开始菜单--选择“运行”--输入 “cmd”

  2、在dos状态下输入命令:attrib c:"windows" -s -h (以c盘下windows文件夹为例,这里的c:"windows"改为你要修改文件夹的路径即可)

  3、运行此命令即可把文件夹的隐藏属性去掉。

  但是我们可能会发现,所有的文件夹都被隐藏了,这样一个一个的改,麻烦就大了。

  上面的方式适合修改单个文件夹,批量的简单修改方法即使用通配符*匹配文件夹,格式如下:

  1、假设c盘下的所有根文件夹都被隐藏了

  attrib c:"*" -s -h /s /d

  即可把c盘下所以的文件夹隐藏属性去掉

  2、假设d盘假设c盘下的所有根文件夹都被隐藏了

  attrib d:"*" -s -h /s /d

  其他的以此类推

  方法二:使用简单的批处理方式

  新建一个文本文档文件,然后拷贝一下代码进去,选择“另存为”,文件名设为“.bat”后缀格式(即把.txt后缀改成.bat)。然后将需要修改的文件夹拖到该文件上面,按照提示操作即可。

  如果你是U盘根目录被感染,直接把U盘盘符拖上去,一路选2并回车即可。

  @echo off&setlocal enableextensions enabledelayedexpansion

  title 解决文件夹隐藏属性无法修改的问题批处理

  if "%~1"=="" (echo 你没有拖入任何磁盘或文件或文件夹!

  echo ------

  echo 请把要处理的磁盘或文件或文件夹拖到 该批处理文件图标上

  echo 而不是双击启动 批处理!&pause&goto:eof)

  call:choose "设置隐藏文件属性,请选择:" 不改变去掉 设置

  (set h=)&(if !c! equ 2 set h=-)&(if !c! equ 3 set h=+)

  call:choose "设置系统文件属性,请选择:" 不改变去掉 设置

  (set s=)&(if !c! equ 2 set s=-)&(if !c! equ 3 set s=+)

  call:choose "设置应用范围,请选择:" 文件或文件夹自身属性及第一级目录内容属性文件夹第一级目录内容属性

  for %%i in (%*) do (if !c! equ 1 call:attrib "%%~i"

  for /f "delims=" %%j in ('dir /a /b "%%~i"') docall:attrib "%%~i\%%~j")

  pause&goto :eof

  :choose

  (set c=)&(set n=)&for %%i in (%*) do echo !n! %%~i&set/a n+=1

  (set /p c=)&(set /a c=c)&if !c! geq 0 if !c! leq !n!echo.&goto :eof

  goto choose

  :attrib

  setlocal&(set a=)&(set a=%~a1)&if"!a!"=="" goto :eof

  if not defined h if "!a:~3,1!"=="h" (set h=+)else (set h=-)

  if not defined s if "!a:~4,1!"=="s" (set s=+)else (set s=-)

  echo 正在处理: %~1&attrib !h!h !s!s "%~1"&goto :eof

  echo 修改成功! 
原文地址:https://www.cnblogs.com/guanghe/p/6277135.html