Alternate Data Streams в NTFS



Есть в NT такая вещь как ADS (Alternate Data Streams - дополнительные потоки данных). А проще сказать: NTFS поддерживает многопотоковые файлы в виде :; то кушать один файл может владеть несколько независимых потоков, различающихся именем (StreamName). Над этими потокам разрешено осуществлять обычные операции записи/чтения, указывая позже имени файла чрез двоеточие имя потока.
Например: заключение на "монитор" какой-либо проги перенаправим в альтернативный поток: ping.exe >> somefile.txt:kakashka
Весь прикол в том, что при этом явный размер файла никак не изменился, так как ось померит размер главного (дефолтового) потока (для обращения к которому никак не пишется двоеточие также его имя). А вот помещения на диске стало поменьше из-за того, что мы записали в поток kakashka.
Как разрешено сие использовать, догадайся самолично. :)))) Хотя, конечно, помимо засерания NTFS-томов, для ADS разрешено найти еще немало других применений. Например: разрешено написать кул прогу которая прячется в альтернативных потоках ;)
Грохнуть альтернативный поток обычным del никак не получается. Самый простой средство избавиться от альтернативных потоков - перекинуть содержащий их файл на FAT, только потом назад. Существуют проги для их обнаружения. Например «lads». Кстати, дополнительные потоки разрешено цеплять также к директориям, только файлы в них класть уже невозможно :)


Copyright by MicroSoft




Материал публикуется с разрешения DHGROUP (http://www.dhgroup.org)