Перейти к содержимому

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