У цього питання є дві сторони. Перше - чому ця функція взагалі існує, а друге - чому графічний інтерфейс (або командний рядок) не полегшує перегляд і управління ними.
Він існує тому, що корисний. Кілька інших платформ підтримують кілька потоків даних у файл. На 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 не звертає уваги) та надрукує привітання.
Було б корисно зберегти його в альтернативному потоці даних та запустити сканування ...