前言

交换数据流ADS(alternate data streams)是NTFS分区特有的功能,NTFS分区格式从NT时代就已经有了,但了解ADS的人还不多,这篇教程让我们初步了解NTFS数据流的概念、创建与删除。

什么是NTFS数据流

在非NTFS分区中,每个文件只有一个流,也就是主流,在NTFS分区中,每个文件都可以有多个数据流,交换数据流是附加在主流之上的其它内容。

创建NTFS数据流

创建ADS的格式为<载体文件名>:数据流名,下面我们举例说明,先进入CMD,输入以下命令:

echo abc123 > 123.txt
echo kuol.net >123.txt:456.txt

第一条命令创建了一个名为123.txt的文件,内容是abc123,第二条命令将文字"kuol.net"添加到名为456.txt的数据流中,这个456.txt数据流的宿主是123.txt。

注意:数据流的内容可以是文本,也可以是其它内容,如:

type 222.jpg >123.txt:222.jpg

这条命令将222.jpg这幅图像以数据流的形式保存在123.txt中。

查看NTFS数据流

在Windows中,直接双击文件是无法查看数据流的,并且只显示主流文件的大小,想查看NTFS数据流可以在CMD中输入以下二条命令:

notepad.exe 123.txt:456.txt
mspaint.exe 123.txt:222.jpg

怎么样,是不是看到这二个数据流的内容了!

删除NTFS数据流

1、ADS是NTFS所特有的,如果将包含数据流的文件移动到非NTFS分区,数据流也就不复存在。

NTFS数据流属性丢失

2、NTFS数据流附属于主流,如果删除主流文件,ADS也将一起被删除。

将程序隐藏在NTFS数据流中

刚才说过,NTFS数据流可以是任何内容,当然也包括程序,现在我们把记事本这个程序以数据流的形式添加到123.txt中:

c:
cd\windows\system32
type notepad.exe >f:\123.txt:1.exe

添加成功,下面我们来运行它,这时需要用到start这个命令:(Win7系统无效)

start f:\123.txt:1.exe

使用start命令运行NTFS数据流要使用绝对路径,如果要运行的ADS在当前目录,也要加上./,如:

start ./123.txt:1.exe

几点补充:

1、用IE直接下载到NTFS分区的可执行文件会被Windows添加一个名为Zone.Identifier的数据流,当打开此类文件时会出现“打开文件-安全警告”对话框。

打开文件安全警告

2、卡巴斯基全盘扫描时也会给文件添加一个用于文件校验的数据流。

3、Windows本身对NTFS数据流的支持不够,我们可以使用NtfsStreamsEditor(中文版)这款软件对ADS进行添加、删除等操作。

下载地址:
http://www.duote.com/soft/10774.html

标签: none

添加新评论