Pet*_*háč 16 filesystems ntfs stream alternate-data-stream
今天我看到了这个奇怪的神奇NTFS系统支持:每个文件可以有多个数据流.基本上可以有一个a.txt0b大小的文件,但是在该文件的单独数据流中可以隐藏任意数量的字节.这是严格的NTFS相关魔法,我没有看到有这些流的任何高尚的原因.您可以streams在Sysinternals 的实用程序的帮助下查找NTFS流.这将告诉你,基本上每个讨厌的thumbs.db文件都附带一个额外的数据流.
好的,现在我已经看到了这个神奇的工作在Windows NT4系统上,流添加到文件,复制,删除(在上述实用程序的帮助下),但我现在在家里尝试这个我的Win XP系统,但是虽然我可以检测现有的流,我无法显示它们的内容,无法创建新的内容,或者在使用filename:streamname语法时无法显示任何内容.
我收到此错误:
文件名,目录名或卷标语法不正确.
示例:流实用程序的输出:
c:\DOWNLOADS>streams.exe -s .
Streams v1.56 - Enumerate alternate NTFS data streams
Copyright (C) 1999-2007 Mark Russinovich
Sysinternals - www.sysinternals.com
c:\DOWNLOADS\1013.pdf:
:Zone.Identifier:$DATA 46
c:\DOWNLOADS>type 1013.pdf:Zone.Identifier
The filename, directory name, or volume label syntax is incorrect.
Run Code Online (Sandbox Code Playgroud)
为什么我不能显示备用数据流的内容?
查看有关" 如何使用NTFS备用数据流 " 的Microsoft文档,我可以看到这适用于我的操作系统,尽管他们确实提到将来不支持这些流.任何人都可以对此有所了解吗?
Abe*_*bel 21
从我的脑海中开始:NTFS数据流是在Windows NT 4.0中引入的,并且已经存在于所有后代中(不包括win-95后代:98,Me).在XP,Vista和Win 7中,它们仍然存在.只要Windows版本支持NTFS,它们就会支持文件流.他们将在未来很长一段时间内支持NTFS.
您在问题中显示的页面上描述了您所遇到的错误.该type命令不了解流.使用:
more < 1013.pdf:Zone.Identifier
Run Code Online (Sandbox Code Playgroud)
微软只有与工作流少数的命令,其实只是<,>与流工作,因此只命令可以使用,可以工作与这些重定向操作符.我在备用数据流上写了几篇博客文章,介绍如何只使用这些命令来操作流.
Streams只能用于设计与它们一起使用的程序,只是因为它们需要特殊处理(比较连接点,也是NTFS的一个功能,但驱动程序隐藏了细节,程序不需要做任何特殊的事情:它们只需将连接点视为真实文件).
当您尝试使用打开文件流start filename:streamname并且程序显示"非法文件名"或"未找到文件"时,并且您肯定流名称是正确的,那么程序可能不支持流.我注意到记事本,写字板和Word/Excel可以正常使用流,尽管Word和Excel认为这些文件很危险.以下是您可能尝试的一些实验.
注意:您似乎认为备用数据流是奇怪的.它们很奇怪,因为它们是如此隐蔽,但许多主要的文件系统(HFS,NSS)都有它,这个概念可以追溯到80年代初.实际上,最初将流添加到NTFS以实现与其他文件系统的互操作性.
顺便说一下,你可以用记事本打开AltDataStream:
notepad.exe 1013.pdf:Zone.Identifier
Run Code Online (Sandbox Code Playgroud)
此外,您可以指定AltDataStream的类型(不仅使用记事本,它是'完整流名称'):
1013.pdf:Zone.Identifier:$DATA
Run Code Online (Sandbox Code Playgroud)