Linux не волнует, как называется ваш файл. Трюк 1973 года, который считывает 4 байта вместо нужно...
Macro Lens
0:00 / 0:00
Linux не волнует, как называется ваш файл. Трюк 1973 года, который считывает 4 байта вместо нужно...
5 820 просмотров · 10 ч назад
Macro Lens
20,4 тыс. подписчиков
5 820 просмотров · 10 ч назад
Windows намеренно скрыла эту часть. С 1995 года она скрывает последние несколько букв в именах файлов, и в Windows именно эти буквы определяют, что представляет собой файл. Linux никогда не доверял имени: с 1973 года он считывает первые байты и запрашивает у файла его содержимое. Одна из этих двух идей обошлась в 10 миллиардов долларов за считанные дни. Вот какая именно и почему.
☕ Поддержите Macro Lens на Patreon → / linux-doesnt-is-173471847
Независимые, без рекламы, подробные обзоры. Patreon позволяет им оставаться такими. Шпаргалка по магическим числам и демонстрация binfmt также доступны там.
РАЗДЕЛЫ
0:00 Windows намеренно скрыла эту часть
0:25 Каждый файл начинается с подписи (PNG, ELF, MZ, PK)
1:24 Команда файла и магические числа (Unix, 1973)
2:04 Тест 1: Идентификация (Переименование PNG в .txt)
2:26 Тест 2: Выполнение (Бит выполнения против расширения)
3:00 Как ядро Linux принимает решения: binfmt
3:31 Я ЛЮБЛЮ ТЕБЯ (2000): Цена доверия к имени
4:08 Трюк с двойным расширением, который все еще работает
4:31 У Linux есть свои способы сбоя
5:10 Что нужно изменить сегодня
5:36 Вердикт
СВЯЗАННОЕ ВИДЕО
Linux на самом деле никогда не удаляет ваши файлы. Трюк 1969 года, позволяющий обновлять систему без перезагрузки (Windows этого сделать не может)
Имя файла — это не то, что оно есть на самом деле, и в Linux удаление имени даже не удаляет сам файл. Смотрите это далее на канале.
УПОМЯНУТЫЕ КОНЦЕПЦИИ И ПРИЛОЖЕНИЯ
Магические числа, сигнатуры файлов, команда file (Unix v4, 1973), libmagic (Иан Дарвин, 1987), ELF (7F 45 4C 46), исполняемые файлы PE/MZ (Марк Збиковски), ZIP/PK (Фил Кац), xxd hexdump, binfmt_misc, Wine, QEMU, shebang (#!), бит выполнения (chmod +x), файлы .desktop (GNOME/KDE), curl | bash, Проводник файлов "Расширения имен файлов", Windows SmartScreen, ILOVEYOU (червь VBScript, 4 мая 2000 г.).
Часто задаваемые вопросы
В: Как Linux определяет, что представляет собой файл, без его расширения?
О: Он считывает первые байты, сигнатуру "магического числа", например, 7F 45 4C 46 ("ELF") для программ Linux. Команда file (Unix, 1973) и libmagic сравнивают эти байты с тысячами известных сигнатур.
В: Действительно ли Windows определяет, что представляет собой файл, по его расширению?
О: Да. Windows выбирает приложение и решает, является ли файл исполняемым (.exe, .bat, .vbs, .scr, .lnk) по окончанию имени. Проводник также по умолчанию скрывает известные расширения, эта настройка восходит к Windows 95.
В: Что представлял собой вирус ILOVEYOU?
A: Червь VBScript от 4 мая 2000 года, отправленный под именем "LOVE-LETTER-FOR-YOU.TXT.vbs". Скрыв расширения, жертвы увидели файл ".TXT" и дважды щелкнули по нему. Ущерб оценивается до 10 миллиардов долларов.
В: Как отобразить расширения файлов в Windows 11?
О: Откройте проводник, нажмите "Вид", затем включите "Расширения имен файлов".
В: Защищен ли Linux от замаскированных файлов?
О: Нет. Скрипт с shebang и битом execute запускается без запроса, файлы .desktop маскируются под документы, а curl | bash доверяет удаленному серверу. Его правило (содержимое плюс права доступа) просто имеет меньше способов обмануть.
В: Что такое binfmt и binfmt_misc?
О: Список зарегистрированных двоичных форматов ядра Linux, которые проверяют первые байты файла для выбора загрузчика. Файлы ELF и скрипты встроены; Wine (программы для Windows) и QEMU (бинарные файлы для ARM) регистрируют свои собственные.
#LinuxInternals #FileSignatures #CyberSecurity #Windows