NTFS交换数据流(alternate data streams,简称ADS)是NTFS磁盘格式的一个特性,在NTFS文件系统下,每一个文件都能够存在多个数据流,就是说除了主文件流之外还能够有很多非主文件流寄宿在主文件流中。它使用资源派生来维持与文件相关的信息,尽管我们无法看到数据流文件。可是它却是真实存在于我们的系统中的。创建一个数据交换流文件的方法非常easy,命令为“宿主文件:准备与宿主文件关联的数据流文件”。
用NFTS数据流隐藏文件
1.请如今c盘下创建一个目录,MyTest。
(最好是新建一个目录。否则后面就比較麻烦,详细解释见后面)
进入这个文件夹,新建一个txt文件,test.txt.写入数据 “this is test for ntfs.” 。
右击属性,能够查看一下其大小22字节,占用空间为4KB。
2.按 win + r,打开执行,输入cmd。进入c:\MyTest
输入:echo 这是数据流数据 > test.txt:shujuliuwenjian.txt
这样我们就创建了一个名为shujuliuwenjian.txt的文件,内容为“这是数据流数据”的数据流文件,并与宿主文件test.txt进行了关联。
3.接着在窗体输入dir命令,咦,看不到创建的数据流文件shujuliuwenjian.txt。
在资源管理器中查看文件夹c:\MyTest,也看不到shujuliuwenjian.txt。
那么再右击查看test.txt的属性,大小没有改变。
是不是非常奇妙?shujuliuwenjian.txt隐藏了。
那么怎么让shujuliuwenjian.txt现出原形呢?
4.follow me...
在cmd中输入:notepad test.txt:shujuliuwenjian.txt
在打开的notepad中能够看到写入数据流的数据 “这是数据流数据”。
5.接下来,问题来了。。。
怎么删除shujuliuwenjian.txt呢?
假设前面你听从了我的建议新建了目录MyTest,那么直接删除目录即可了。
什么?。你直接在根文件夹下或者系统文件夹下创建的数据流文件?
好吧。那你仅仅能借助工具来删除它。猛戳这里 下载工具
这个工具须要在cmd下执行
输入stream.exe 能够看到执行參数
删除数据流文件命令 stream.exe -d 数据流文件所在文件夹
6.另外,还能够创建不依赖文件的流。
如echo "这是数据流数据" > :shujuliuwenjian2.txt.
查看内容使用 notepad :shujuliuwenjian2.txt
这样就实现了用NFTS数据流隐藏文件。
数据流文件是不局限于文本文档的,不论什么文件都能够作为数据流文件。包含可运行程序,图片。声音等等。
msdn上对file streams的介绍:
http://msdn.microsoft.com/library/aa364404.aspx
版权声明:本文博客原创文章。博客,未经同意,不得转载。