最近碰到一种蠕虫,使原根目录下的文件夹都没有了,出来一堆与原来的文件夹一样名字的“文件夹”,但是认真看了下,这些所谓的“文件夹”后缀名是.EXE,大小都为64K,当双击打开的时候,电脑会卡一下,再打开对应的文件夹。这样就理解了,病毒先将原来的文件夹隐藏,后来将自己伪装成原来文件夹的样子,然后每当用户打开文件夹的时候就会打开这个伪装成文件夹的程序,程序运行一次之后,再返回一个打开文件夹的操作,如果没有认真注意下还真不容易发现。目前病毒被杀掉,但是被隐藏的文件夹需要恢复,

图:根目录下没有一个文件(全部被隐藏掉了)

python恢复硬盘数据代码 python恢复系统文件_python恢复硬盘数据代码

隐藏了没关系,显示隐藏文件看看:

点击“组织”--“文件夹和搜索选项”

python恢复硬盘数据代码 python恢复系统文件_python恢复硬盘数据代码

选择“查看”选项卡,选中“显示隐藏的文件、文件夹和驱动器”

python恢复硬盘数据代码 python恢复系统文件_python恢复硬盘数据代码

看看效果:

python恢复硬盘数据代码 python恢复系统文件_python恢复硬盘数据代码

还是没有,这样很可能是被病毒标记上“系统文件”的属性了

再次打开“文件夹和搜索选项”还是“查看”选项卡下

将“隐藏受保护的操作系统文件(推荐)”前的对勾去掉

python恢复硬盘数据代码 python恢复系统文件_python恢复硬盘数据代码

再看看效果,都出来了(无所遁形咯):

python恢复硬盘数据代码 python恢复系统文件_python恢复硬盘数据代码

知道了他的隐藏原理之后,那我们将文件夹的属性改回来,首先将隐藏的属性去掉:

python恢复硬盘数据代码 python恢复系统文件_python恢复硬盘数据代码

这样的话,那就是添加的“系统”属性在作怪了,只能另找办法了。打开命令指示符

使用命令attrib命令抹除掉文件的“系统”和“隐藏”属性,首先进入到该目录下,之后使用命令抹除。格式:attrib 文件名

-s -h 去掉文件的系统和隐藏属性(如果是添加就是+s

+h)

python恢复硬盘数据代码 python恢复系统文件_python恢复硬盘数据代码

这样目录的cache文件夹已经不是隐藏的半透明图标了可以正常显示:

python恢复硬盘数据代码 python恢复系统文件_python恢复硬盘数据代码

但是。。这样问题又来了,被修改文件有几十个,这样一条一条的输入命令,那实在是太蛋疼了,刚好最近在学习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,代码还很粗糙,之后再来优化下

python恢复硬盘数据代码 python恢复系统文件_python恢复硬盘数据代码

python恢复硬盘数据代码 python恢复系统文件_python恢复硬盘数据代码