У этого вопроса есть две стороны. Во-первых, почему эта функция вообще существует, а во-вторых, почему графический интерфейс (или командная строка) не облегчает просмотр и управление этой функцией.
Это существует, потому что это полезно. Несколько других платформ поддерживают несколько потоков данных на файл. Например, на Mac их называли вилками . Я достаточно уверен, что подобные вещи существовали в мире мэйнфреймов, но сегодня я не могу указать на какие-либо явные примеры.
В современной Windows он используется для хранения дополнительных атрибутов файла. Вы можете заметить, что в окне «Свойства», доступном из проводника Windows, есть вкладка «Сводка», которая в простом представлении (у меня Windows XP, пробег у вас будет отличаться от других вариантов) включает в себя множество полезных полей, таких как заголовок, тема, автор и так далее. Эти данные хранятся в альтернативном потоке, вместо того, чтобы создавать какую-то базу данных вспомогательной машины для хранения всего, что слишком легко отделить от файла.
Альтернативный поток также используется для хранения маркера, который говорит, что файл получен из ненадежного сетевого источника, который применяется как Internet Explorer, так и Firefox при загрузке.
Сложный вопрос: почему нет лучшего пользовательского интерфейса для того, чтобы замечать, что потоки вообще существуют, и почему в них можно поместить исполняемый контент и, что еще хуже, выполнить его позже. Если здесь есть ошибка и угроза безопасности, вот оно.
Редактировать:
Вдохновленный комментариями к другому ответу, вот один из способов узнать, знает ли ваша антивирусная и / или антивирусная защита об альтернативных потоках.
Получить копию тестового файла EICAR . Это 68 байтов текста ASCII, который также является допустимым исполняемым файлом x86. Несмотря на то, что антивирусная индустрия совершенно безвредна, было решено, что она будет обнаружена как настоящий вирус. Создатели думали, что тестирование программного обеспечения AV с реальным вирусом было бы слишком похоже на тестирование пожарной сигнализации, зажигая мусорную корзину в огне ...
Файл EICAR:
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
Сохраните его с расширением, .COM
и оно будет выполнено (если ваш AV не обращает на это внимания) и напечатает приветствие.
Было бы полезно сохранить его в альтернативном потоке данных и запустить сканирование ...