|
发表于 2012-1-1 21:16:12
|
显示全部楼层
回复 1# 笨菜鸟
楼上的不懂就不要乱讲,会误人子弟。
首先回答你的问题,有族流的都是非常驻的,不然就是常驻了。80主流一般是没有名字的,附加流一般都会有一个名字。你的截图两个80属性都是常驻的,没有族流,无需计算。第一个80看出常驻属性内容长度是5 Bytes,相对属性头偏移是24 Bytes。第2个80没什么意义。所以综合分析30属性,这个文件是7.txt的文本文件,大小为0,截图的2个80估计是由于文件被覆盖或者清空文档修改后造成的。
正常情况下80属性不大可能有很多的,一般是一个,有些会有2个以上,超过3个的本人至今还没见过,除非是人为的加上去的,多出来的属性都是Alternate Data Streams(ADS)。下面解释2个常见的例子
1、某些杀毒软件(比如卡巴斯基的标记 KAVICHS)扫描后会做一个标记 ,作为常驻80属性留在MFT里,这个属性一般是隐藏的,你应该也许会遇到这样的情况,就是从NTFS复制文件到FAT格式盘上的时候,系统会提示说某些文件附加属性会丢失,请问是否继续,指的就是这里的80属性。
2、还有一种我见过的是Zone identifier,你也肯定遇到过这样的情况,用IE下载完一个exe文件双击的时候出现“打开此文件前总是询问”,就是这个$DATA Zone.Identifier起的作用。
回到你的问题,ADS常驻或非常驻都有,要具体情况具体看了。
ADS是NTFS特有的,离开了NTFS,ADS也就不复存在了。你在FAT32分区上就不可能出现我说的这2种情况。不过有专用的软件清除这些Stream(当然最简单的方法就是去非NTFS文件系统拷贝一圈回来),如果你使用Vista或者7,可以使用系统自带的增强命令dir /r 可以显示文件和文件夹的附加$DATA属性,你可以试试看。ADS可以用来实现一些文件隐藏啊或者恶意脚本,有安全性方面的问题,一般不用去深究,你只要知道就行了,目前还没有什么软件能正确处理和执行附加流,你会编程的话可以自己写一个。
推荐你用Runtime's DiskExplorer for NTFS 软件看MFT项 ,这个软件能很清晰的列出每个属性的内容,比winhex清楚有条理。
想知道更具体的原理你可以上网搜关键字NTFS ADS,也欢迎加我QQ讨论。这里只是简单的描述了一下。你好像也在另外一个CHS实验室论坛发帖,之前回答过你关于族流是负数的问题。 |
|