最近碰到一种蠕虫,使原根目录下的文件夹都没有了,出来一堆与原来的文件夹一样名字的“文件夹”,但是认真看了下,这些所谓的“文件夹”后缀名是.EXE,大小都为64K,当双击打开的时候,电脑会卡一下,再打开对应的文件夹。这样就理解了,病毒先将原来的文件夹隐藏,后来将自己伪装成原来文件夹的样子,然后每当用户打开文件夹的时候就会打开这个伪装成文件夹的程序,程序运行一次之后,再返回一个打开文件夹的操作,如果没有认真注意下还真不容易发现。目前病毒被杀掉,但是被隐藏的文件夹需要恢复,
图:根目录下没有一个文件(全部被隐藏掉了)
隐藏了没关系,显示隐藏文件看看:
点击“组织”--“文件夹和搜索选项”
选择“查看”选项卡,选中“显示隐藏的文件、文件夹和驱动器”
看看效果:
还是没有,这样很可能是被病毒标记上“系统文件”的属性了
再次打开“文件夹和搜索选项”还是“查看”选项卡下
将“隐藏受保护的操作系统文件(推荐)”前的对勾去掉
再看看效果,都出来了(无所遁形咯):
知道了他的隐藏原理之后,那我们将文件夹的属性改回来,首先将隐藏的属性去掉:
这样的话,那就是添加的“系统”属性在作怪了,只能另找办法了。打开命令指示符
使用命令attrib命令抹除掉文件的“系统”和“隐藏”属性,首先进入到该目录下,之后使用命令抹除。格式:attrib 文件名
-s -h 去掉文件的系统和隐藏属性(如果是添加就是+s
+h)
这样目录的cache文件夹已经不是隐藏的半透明图标了可以正常显示:
但是。。这样问题又来了,被修改文件有几十个,这样一条一条的输入命令,那实在是太蛋疼了,刚好最近在学习python,于是想到由python来实现恢复所有文件夹的属性,思路比较简单,首先获取到所有被隐藏的文件的绝对路径,然后抹除掉每个文件夹的“系统”和“隐藏”属性,研究了下,代码如下:
# -*- coding: utf-8 -*-#对中文目录的正常识别
import os
import os.path
disk = [‘c’,'d','e','f','g',]
for g in disk :
time=
1
number=
0
count=
0
lis=
['']*50
cdir=
g+':\\'
forname
in os.listdir(cdir):#获取到根目录文件夹下所有文件名
lis[count]=
cdir + '\\' + name
#生成所有文件的绝对路径
count=
count + 1
cmd=
'attrib'+' '+lis[time]+' '+'-s -h'#初始化cmd的恢复命令
whiletime
< 50 :
c=
' ' + '&&' + ' ' + 'attrib'+' '+lis[time]+' '+'-s
-h'
cmd=
cmd + c#将所有文件路径添加到恢复命令中
time=
time + 1
else:
print"disk
",g," has been changed over"
os.system(cmd)#针对每个盘符进行恢复
else :
print "all works has been done"
运行之后所有盘符下的文件属性全部恢复,文件已经全部恢复到非半透明状的情况。初学python,代码还很粗糙,之后再来优化下