Другие языки программирования и технологии

Почему нет вирусов в популярных бинарных файлах - mp3, wav, avi,mkv и т. д.

Очень заинтересовало, почему до сих пор даже никто не додумался заразить вирусом mp3 и подобные файлы, это вообще реально?
Кто может дать нормальный, развернутый ответ на этот вопрос?
Если просто для тех кто не разбирается в программирование, то данные файлы являются неким контейнером в котором находятся данные. Программы работающие с ними считывают с них данные и обрабатывают по алгоритму заданной в этой программе. Исполняемые файлы напротив запрашивают ресурсы у системы и получая их начинают обработку инструкций прописанных в исполняемом файле. Проше говоря все что напишете в исполняем файле будет выполнено по инструкции. В не исполняемых если программа найдет несоответствия или ошибки то выполнит алгоритмы устраняющие проблемы, а не инструкции в файле.
Jason Bourne
Jason Bourne
1 572
Лучший ответ
Они там есть, просто их время ещё не наступило. А вот, когда звякнет - мало не покажется
Василь Марчак
Василь Марчак
95 464
Главным образом потому, что они неисполняемые. Раньше еще можно было пробовать найти ошибки в популярных алгоритмах и заставить их выполнить некий код, сидящий в данных, но сегодня с этим борятся очень активно, в т. ч. и на уровне ОС.
Второй момент - развести лоха на запуск исполняемого файла гораздо легче, чем искать вышеупомянутые ошибки.
Андрей
Андрей
69 378
Потому что есть файлы исполняемые и неисполняемые. EXE, COM, PIF, SCR, BAT, VBS файлы фактически напрямую являются исполняемыми и подают компьютеру команды. DOC, XLS, DOCX и прочие "офисные" тоже частично исполняемые, ибо могут включать в себя т. н. "макросы".

А вот JPG, MP3, AVI, MOV, MKV, PNG, BMP - это файлы НЕисполняемые. Единственный способ вирусу из них исполниться - это эксплуатировать уязвимость в программе просмотра. Но опасные уязвимости находят не так уж часто и обновлениях Windows и программ-плееров и просмотрщиков - оперативно исправляют.
Марат Токушев
Марат Токушев
53 784
Зараза к заразе не пристаёт...
Rem R
Rem R
59 027
Да просто пока что повезло. В свое время в виндовой либе для просмотра JPEG была серьезная уязвимость, а при помощи специальных PDF-ок делали jailbreak айфонов.

Какой-нибудь MKV формат намного более сложный, если еще учесть используемые там кодеки и десяток наиболее распространенных проигрывателей. Где-нибудь наверняка уязвимости есть, да и не так быстро производители софта их закрывают при обнаружении. Особенно актуально, если производитель софта не приучен жизнью быстро закрывать уязвимости.

И ни фига с этим не борятся - уязвимости вообще плохо ищут. Одни только истории с Heartbleed, Shellshock и POODLE показали, что в критическом софте критических уязвимостей вагон и маленькая тележка.
Evgenii Evgenii
Evgenii Evgenii
19 662
Попробую вставить свою лепту в уже написанное. Дело в том что exe, dll, cmd, bat это исполняемые файлы. Что же такое исполняемые файлы!? Это такие файлы при запуске которых ОС помещает их в оперативную память и передаёт им управление (это грубо говоря, не буду углублятся в подробности многозадачности т. к. сам многого не знаю). И соответственно запущенный таким образом файл выполняет все что позволяет ему ОС. То есть такие файлы в состоянии изменять другие файлы, и даже исполняемые. Вирусы этим и пользуются, добавляя тело своей программы в другие исполняемые файлы. А если теперь посмотреть на то как открывается тот же jpg то можно сказать что ОС передает адрес файла который надо открыть программе для просмотра картинок (для mp3 программе для воспроизведении музыки, а для mkv программе для воспроизведения видео и т. д.)! Программа знает как вывести ту информацию на экран и выполняется только код программы для просмотра картинок, а в jpg кода нет! Там лишь содержиться информация где и какого цвета точка находиться и размер картинки по горизонтали и вертикали... Могу где-то ошибаться, но в целом правильно!