Тип файла можно определить зная его

Обновлено: 06.07.2024

Все существующие файлы условно можно разделить на две основные группы: системные и пользовательские. Очевидно, что системные файлы являются составляющими элементами самой системы, содержат в себе библиотеки, алгоритмы, команды, обеспечивающие работоспособность операционной системы. Пользовательские файлы являются виртуальным достоянием пользователя и для их чтения или редактирования требуются соответствующие программы.

Операционная система определяет тип файла по его расширению. Расширением называется последняя часть имени файла, которая следует после точки. Точек в названии может быть несколько, поэтому расширением считается часть имени файла, следующая за последней точкой в его названии. Пример: filename.txt

От расширения файла зависит — какой программой будет производиться чтение или редактирование данного файла.

Здесь возникает некоторая сложность в понимании для новичка. Дело в том, что операционная система, по умолчанию, настроена так, что известные системе расширения файлов не отображаются. В этом случае, пользователь видит только название самого файла. Видимо, создатели ОС посчитали, что пользователю нет смысла вдаваться в технические подробности.

Увы, без знания технических подробностей, полноценное взаимодействие с компьютером невозможно. По той причине, что расширения файлов остаются скрытыми, многие пользователи даже не подозревают о том, что в одной папке (каталоге) не может существовать двух файлов с одинаковыми названиями. Каждое название файла индивидуально для каждой конкретной папки.

Заблуждение возникает по той причине, что один файл может называться filename.txt, а второй файл может называться filename.jpg. Для системы, оба этих названия являются разными из-за разных расширений в имени, а пользователь, если расширения не отображаются, видит два одинаковых имени файла в одной папке и думает, что такое вполне возможно.

Рассмотрим типы пользовательских файлов. Условно их можно разделить на четыре основные группы:


1. Текстовый документ

Основным типом пользовательских файлов является текстовый документ. Данное утверждение не требует объемных доказательств, достаточно напомнить о том, что ни один сайт в интернете не обходится без текста. Кроме того, никакая электронная отчетность, ведение бухгалтерии, логистики, заключение договоров — тоже не могут обойтись без набора текстовых символов. Текст в компьютерном мире является, пусть не самым красочным, но самым основным источником информации. Графические изображения, как правило, являются дополнением к основному текстовому файлу, если содержат графики, чертежи, иллюстрации или фотографии.

Текстовый документ может содержать в себе обычный или форматированный текст. Если текстовый документ содержит неформатированный текст, такая запись, по сути, является единой строкой, содержащей определенный набор символов. Приложения, работающие с текстовыми документами, для удобства чтения автоматически располагают текст в окне в несколько строк, осуществляя перенос по словам.

Неформатированный текст содержит только основной набор символов, без указания типа и размера шрифта. Программы, работающие с текстом, отображают неформатированный текст размером и шрифтом выбранным пользователем. Таким образом, неформатированный текст, на двух разных компьютерах, может выглядеть совершенно по-разному, сохранится только основной логический смысл данного текста.

В операционной системе Windows, для чтения и создания простых текстовых файлов без форматирования, существует гениальное приложение "Блокнот". Данное приложение позволяет создавать простые текстовые файлы без форматирования. Кроме того, приложение позволяет открывать и редактировать некоторые системные файлы, содержащие техническую текстовую информацию. Также возможно создание или редактирование страниц интернета в формате HTM или HTML .

Форматированный текст имеет заданный и описанный в самом файле тип и размер шрифта, разбивку на абзацы, страницы, отступы текста от краев страницы, что подразумевает дальнейший вывод текста на печать с помощью принтера. Также форматированный текст может иметь таблицы, гипертекстовые ссылки, позволяющие осуществлять переход прямо из текстового документа на указанный ресурс в сети Интернет.

Наиболее известная программа, которая используется для работы с форматированным текстом, разработана компанией Microsoft и называется Word.

Некоторые пользователи полагают, что программа Word является неотъемлемой частью операционной системы Windows .

На самом деле, данное приложение является отдельным продуктом компании и устанавливается дополнительно. Приложение разработано специально для работников офиса, которым постоянно приходится работать с отчетами, сметами, счетами, договорами и другими аналогичными документами.

Текст без иллюстраций, фотографий или иконок выглядит слишком сухо и скучно. Иногда рисунки просто необходимы для наглядности. Все изображения, используемые в цифровой среде, можно разделить на две основных группы: растровая и векторная графика. Разница между этими двумя группами значительна и заключается в принципах построения, сохранения и чтения изображения.

Растровые изображения появились раньше и пока остаются наиболее популярными. Связано это с тем, что создавать и редактировать растровые изображения гораздо проще. На сегодняшний день существует множество различных программ, доступных широкому кругу пользователей, которые созданы для работы с растровой графикой.

Общий принцип растрового изображения заключается в том, что оно состоит из точек — пикселей. Такой принцип продиктован устройством самих мониторов, где также используются трехцветные пиксели. Каждый пиксель монитора состоит из трех ячеек, которым заданы базовые цвета: красный, зеленый и синий.
От яркости свечения каждой цветной ячейки, входящей в состав одного пикселя, зависит его общий суммарный цвет. Одинаковое свечение красного и зеленого порождают желтый цвет, одинаковое свечение зеленого и синего — дают голубой, а все три цвета в сумме дают белый. Разное процентное соотношение трёх базовых цветов — создает всю богатую палитру не только виртуального, но и окружающего мира.

Качество растрового изображения зависит от количества пикселей. Чем больше пикселей, тем выше может быть качество изображения. Пиксели в графическом рисунке образуют горизонтальные строки и вертикальные столбцы. Любое растровое изображение имеет четкий размер по ширине и высоте, который также указывается в пикселях.

Основной недостаток растрового изображения заключается в том, что изменение исходного размера изображения приводит к ухудшению качества. Связано это с тем, что при уменьшении изображения соседние пиксели суммируются и сливаются в один. При увеличении изображения добавляются новые пиксели, которым присваивается промежуточное значение соседних.
Если исходное изображение не уменьшать, а сразу увеличивать, то и в этом случае, за счет появления промежуточных пикселей теряется исходная четкость изображения. Наименьшие потери качества происходят при увеличении изображения на коэффициент кратный четырем: в два, в четыре, в восемь или шестнадцать раз.
В этих случаях, каждый пиксель просто увеличивается в четыре раза, либо в восемь, шестнадцать раз, но не появляются пиксели с промежуточными значениями.

Помимо растровой графики, существует векторная графика . Принцип построения векторного изображения заключается в том, что в исходном файле сохраняется сама форма каждого элемента изображения, в процентном соотношении от общей площади изображения. Подобное сохранение информации обеспечивает четкость изображения при любом изменении размера.
Векторное изображение, созданное на дисплее обычного компьютера, не потеряет своё качество даже в том случае, если его растянуть до размеров многоэтажного дома. Объем файла векторной графики зависит от количества элементов, используемых в рисунке.

Возможность воспроизведения звука на компьютере не является такой важной и необходимой составляющей, как текст или графическое изображение, но делает цифровой мир более совершенным и многогранным. Если же рассматривать техническую составляющую, компьютер, лишенный возможности работы со звуком, стал бы бесполезной игрушкой для композиторов, музыкантов, аранжировщиков и других специалистов, чья творческая или трудовая деятельность связана непосредственно со звуковыми файлами.
Для того чтобы понять структуру звукового файла, обратимся к базовым понятиям возникновения звука в природе. Известно, что любой звук это волна, которая порождается источником звука с помощью колебаний. От частоты колебаний источника звука зависит частота звуковой волны. Частота колебаний выражается в Герцах. Один Герц (Гц или Hz) означает одно колебание в секунду. Человеческое ухо способно слышать звуковые колебания в диапазоне от 20 колебаний в секунду (20 Гц) до 20 000 колебаний (20 кГц).

Некоторые источники утверждают, что человеческое ухо слышит не от 20, а от 30 Герц. Так или иначе, но всё, что ниже слышимого диапазона — принято считать инфразвуком, а диапазон свыше 20 000 Герц — принято считать ультразвуком.
Звуковой файл, по своей сути, это цифровая запись колебаний источника звука. При воспроизведении звукового файла, считывается запись колебаний, а сигнал, сгенерированный в соответствии с записью, подаётся на усилитель мощности, а уже затем воспроизводится динамиками звукового устройства.
Запись звука можно представить в виде графика. Для простоты восприятия, на графике изображена частота равная одному колебанию в секунду, что соответствует 1 Герц. Естественно, человеческое ухо не может услышать такую частоту, но на данном примере проще объяснить общий принцип звучания частот.

Когда мы слышим музыку, мы можем различать звучание множества различных музыкальных инструментов. Все они звучат на разных частотах, но запись подобного звучания выглядит в виде всего одной звуковой дорожки. Возникает вполне справедливый вопрос: Каким образом одна звуковая дорожка может содержать запись нескольких музыкальных инструментов?
Чтобы ответить на данный вопрос, воспользуемся двумя графиками. На одном графике изображена частота 1 Герц, на втором графике изображена частота 10 Герц. Как будет выглядеть график, если две этих частоты суммировать в один график?
Примитивная математика здесь бессильна и 1 плюс 10 Герц не будет равняться 11 Герцам. Полученный график будет сочетать в себе обе частоты, которые, при воспроизведении будут слышаться по отдельности. То есть, не сольются в единый звук. Однако, следует заметить, что суммируется громкость частот.

Подобным образом происходит наложение и слияние многих частот. В конце-концов, человеческое ухо — также имеет всего одну мембрану (барабанную перепонку), которая воспринимает всё многообразие звуков реального мира.

Видеофайлы являются наиболее "тяжелыми" по своему объему и наиболее сложными для воспроизведения на компьютере. Впрочем, для любого компьютера нет ничего страшнее, чем качественная видеоигра с трехмерной графикой и массой реалистичных эффектов: дым, туман, падающие тени от объектов и многие другие эффекты, которые создают максимальную нагрузку для видеокарты, заставляя её просчитывать весь виртуальный мир трёхмерной сцены.

Игровой режим с 3D-графикой наиболее опасен для ноутбуков потому, что система охлаждения обслуживает одновременно главный процессор и видеочип. Однако, скорость вращения кулера зависит от температуры главного процессора. Видеоигра может давать незначительную нагрузку для главного процессора при максимальной нагрузке видеочипа. В этом случае, кулер работает на пониженных оборотах, видеочип нагревается сильнее, чем главный процессор, но не получает достойного охлаждения, из-за чего значительно сокращается срок службы видеочипа.

Если учитывать нагрузку, которую создаёт трехмерная игра, то воспроизведение видеофайлов можно считать пустяком, который создаёт нагрузку процессора в пределах от 25-30% до 67-75%. Конечно, процент загрузки зависит ещё от мощности самого процессора. Чем мощнее процессор, тем проще ему работать. Для видеокарты-же нагрузка остается минимальной, поскольку, вся работа заключается в просчете плоского, двухмерного изображения, имеющего лишь ширину и высоту кадра.
Как говорилось ранее, видеофайл представляет собой серию последовательных, графических рисунков, сопровождающихся аудиодорожкой. Объем видеофайла напрямую зависит от размера и количества кадров. Правда, помимо этих параметров, существуют и такие, как интерлейсинг, битрейт, сжатие.
Известно, что человеческий глаз воспринимает движение на экране в том случае, если скорость смены кадров не ниже 24 кадров в секунду. Однако, некоторые цифровые форматы имеют настройку от шести с половиной кадров в секунду и выше. Как такое возможно?

Всё дело в том, что в подобных случаях смена кадра происходит так же быстро и резко, но время показа одного кадра на экране значительно увеличено. Конечно, чем больше кадров в секунду мы видим, тем плавнее воспринимается движение на экране.

Есть ещё такое заблуждение, что 24 кадра в секунду это максимум для человеческого глаза, а повышать количество кадров не имеет смысла. На самом деле, видео, воспроизводимое со скоростью 30 кадров в секунду, воспринимается глазом более плавно и кажется более натуральным, а 60 кадров в секунду создаёт ещё более плавный и реалистичный эффект движения.

Заключение


По своей сути, любой файл содержит запись, состоящую из набора символов. Разница лишь в том, что значения символов, в разных типах файлов, имеют разное значение. Текстовые файлы появились одними из первых, ещё на заре развития компьютерной техники. Они могут иметь простое или сложное форматирование, подразумевающее отступы текста от краёв, разбивку текста на отдельные страницы, если подразумевается вывод документа на печать.

Вторым по значению можно смело назвать графический рисунок. К этой категории относится любое растровое изображение, будь то фотография, сделанная с помощью цифровой камеры или рисунок, созданный от руки. Для компьютера не имеет значения, каким образом был создан графический рисунок, для него это просто файл, в котором описано количество точек по вертикали и горизонтали, а также указан цвет каждой точки. Открывая изображение для просмотра, компьютер должен прочитать графический файл от начала до конца и затем, в соответствии с его содержимым, отобразить область рисунка указанными цветами. Пользователь видит картинку или фотографию.

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

Самым "тяжелым" и сложным для обработки и чтения является видеофайл, который состоит из двух частей: видеоряд и звуковая дорожка. По своей сути, видеофайл это объединение графического рисунка с аудиофайлом, с той разницей, что видеофайл подразумевает не один рисунок, а целую серию графических рисунков, которые сменяются со скоростью 12.5, 15, 25, 29.9 или 30 кадров в секунду. Скорость смены кадров также указана в самом видеофайле. Следует учитывать, что воспроизведение видеоряда должно ещё сопровождаться синхронным воспроизведением аудиодорожки. Из-за такой сложности, на слабых компьютерах нередко возникает рассинхронизация потоков, когда видеоряд отстает от аудиодорожки, либо наоборот: опережает её.

Работа состоит из 20 заданий. На выполнение работы по информатике отводится 45 минут.


1) Какое из следующих утверждений точнее всего раскрывает смысл понятия «ИНФОРМАЦИЯ» с бытовой точки зрения?

a) последовательность знаков некоторого алфавита
b) книжный фонд библиотеки
c) сведения об окружающем мире и протекающих в нем процессах, воспринимаемые человеком непосредственно или с помощью специальных устройств
d) сведения, содержащиеся в научных теориях


2) Дискретным называют сигнал:

a) принимающий конечное число определённых значений
b) непрерывно изменяющийся во времени
c) который можно декодировать
d) несущий какую-либо информацию


3) По способу восприятия человеком различают следующие виды информации:

a) текстовую, числовую, графическую, табличную и пр.
b) научную, социальную, политическую, экономическую, религиозную и пр.
c) обыденную, производственную, техническую, управленческую
d) визуальную, аудиальную, тактильную, обонятельную, вкусовую


4) По форме представления информацию можно условно разделить на следующие виды:

a) математическую, биологическую, медицинскую, психологическую и пр.
b) знаковую и образную
c) обыденную, научную, производственную, управленческую
d) визуальную, аудиальную, тактильную, обонятельную, вкусовую


5) В какой строке единицы измерения информации расположены по возрастанию?

a) гигабайт, мегабайт, килобайт, байт, бит
b) бит, байт, мегабайт, килобайт, гигабайт
c) байт, бит, килобайт, мегабайт, гигабайт
d) бит, байт, килобайт, мегабайт, гигабайт


6) Два текста содержат одинаковое количество символов. Первый текст составлен из символов алфавита мощностью 16, а второй текст – из символов алфавита мощностью 256. Во сколько раз количество информации во втором тексте больше, чем в первом?


7) Гипертекст – это:

a) очень большой текст
b) текст, в котором могут осуществляться переходы по ссылкам
c) текст, набранный на компьютере
d) текст, в котором используется шрифт большого размера


8) Поисковой системой НЕ является:

a) Google
b) FireFox
c) Rambler
d) Яндекс


9) Укажите в какой из групп, перечислены только устройства ввода информации:

a) Принтер, монитор, акустические колонки, микрофон
b) Клавиатура, сканер, микрофон, мышь
c) Клавиатура, джойстик, монитор, мышь
d) Флеш-память, сканер, микрофон, мышь


10) Сколько CD объёмом 600Мбайт потребуется для размещения информации, полностью занимающей жесткий диск ёмкостью 40Гбайт?

a) Используемое в компьютере имя программы или данных
b) Поименованная область во внешней памяти
c) Программа, помещенная в оперативную память и готовая к исполнению
d) Данные, размещенные в памяти и используемые какой-либо программой


12) Тип файла можно определить, зная его:

a) Размер
b) Расширение
c) Дату создания
d) Размещение


13) К устройствам ввода графической информации относится:

a) Принтер
b) Монитор
c) Мышь
d) Видеокарта


14) Векторные изображения строятся из:

a) Отдельных пикселей
b) Графических примитивов
c) Фрагментов готовых изображений
d) Отрезков и прямоугольников


15) Несжатое растровое изображение размером 64 х 512 пикселей занимает 32Кбайта памяти. Каково максимальное максимально возможное число цветов в палитре изображения?


16) Для чего предназначен буфер обмена?

a) Для длительного хранения нескольких фрагментов текста и рисунков
b) Для временного хранения копий, фрагментов или удаленных фрагментов
c) Для исправления ошибок при вводе команд
d) Для передачи текста на печать


17) Для считывания текстового файла с диска необходимо указать:

a) Размеры файла
b) Имя файла
c) Дату создания файла


18) Считая, что каждый символ кодируется одним байтом, определите, чему равен информационный объем следующего высказывания Жан-Жака Руссо:

Тысяча путей ведут к заблуждению, к истине – только один.

a) 92 бита
b) 220 битов
c) 456 битов
d) 512 битов


19) Этап подготовки текстового документа, на котором он заносится во внешнюю память, называется:

a) Копированием
b) Сохранением
c) Форматированием
d) Вводом


20) Какой из представленных ниже форматов не относятся к форматам файлов, в которых сохраняют текстовые документы?

1) c
2) a
3) d
4) b
5) d
6) b
7) b
8) b
9) b
10) d
11) b
12) b
13) c
14) b
15) a
16) b
17) a
18) c
19) b
20) e

Сайт учителя информатики. Технологические карты уроков, Подготовка к ОГЭ и ЕГЭ, полезный материал и многое другое.

Информатика. 7 класса. Босова Л.Л. Оглавление

1. Выберите наиболее полное определение.

  • а) Компьютер — это электронный прибор с клавиатурой и экраном
  • б) Компьютер — это устройство для выполнения вычислений
  • в) Компьютер — это устройство для хранения и передачи информации
  • г) Компьютер — это универсальное электронное программно управляемое устройство для работы с информацией

2. Укажите, в какой из групп устройств перечислены только устройства ввода информации:

  • а) принтер, монитор, акустические колонки, микрофон
  • б) клавиатура, сканер, микрофон, мышь
  • в) клавиатура, джойстик, монитор, мышь
  • г) флеш-память, сканер, микрофон, мышь

3. После отключения питания компьютера сохраняется информация, находящаяся:

  • а) в оперативной памяти
  • б) в процессоре
  • в) во внешней памяти
  • г) в видеопамяти

4. Компьютерная программа может управлять работой компьютера, если она находится:

  • а) в оперативной памяти
  • б) на DVD
  • в) на жёстком диске
  • г) на CD

5. Дополните по аналогии: человек — записная книжка, компьютер:

  • а) процессор
  • б) долговременная память
  • в) клавиатура
  • г) монитор

6. Производительность работы компьютера (быстрота выполнения операций) зависит от:

  • а) тактовой частоты процессора
  • б) размера экрана монитора
  • в) напряжения сети
  • г) быстроты нажатия клавиш

7. Сколько CD объёмом 600 Мбайт потребуется для размещения информации, полностью занимающей жёсткий диск ёмкостью 40 Гбайт?

8. Два одинаковых сервера за 2 секунды могут обработать 2 миллиона запросов от пользовательских компьютеров. Сколько миллионов запросов могут обработать 6 таких серверов за 6 секунд?

9. Пропускная способность некоторого канала связи равна 128 000 бит/с. Сколько времени займёт передача файла объёмом 500 Кбайт по этому каналу?

10. При Интернет-соединении с максимальной скоростью передачи данных 192 Кбит/с аудиофайл размером 3600 Кбайт будет в лучшем случае передаваться:

11. Совокупность всех программ, предназначенных для выполнения на компьютере, называют:

  • а) системой программирования
  • б) программным обеспечением
  • в) операционной системой
  • г) приложениями

12. Комплекс программ, обеспечивающих совместное функционирование всех устройств компьютера и предоставляющих пользователю доступ к его ресурсам, — это:

  • а) файловая система
  • б) прикладные программы
  • в) операционная система
  • г) сервисные программы

13. Программы, с помощью которых пользователь решает свои информационные задачи, не прибегая к программированию, называются:

  • а) драйверами
  • б) сервисными программами
  • в) прикладными программами
  • г) текстовыми редакторами

14. Компьютерный вирус А повреждает 1 Гб памяти за один месяц, вирус В повреждает 1 Гб за два месяца, вирус С повреждает 1 Гб за три месяца, вирус D повреждает 1 Гб за шесть месяцев. На компьютере одновременно обнаружены сразу все четыре вируса. Через какое время на 1 Гб памяти не останется области, не повреждённой вирусами?

  • а) четверть месяца
  • б) половина месяца
  • в) один месяц
  • г) два месяца
  • а) используемое в компьютере имя программы или данных;
  • б) поименованная область во внешней памяти
  • в) программа, помещённая в оперативную память и готовая к исполнению
  • г) данные, размещённые в памяти и используемые какой-либо программой

16. Тип файла можно определить, зная его:

  • а) размер
  • б) расширение
  • в) дату создания
  • д) размещение

17. Для удобства работы с файлами их группируют:

  • а) в корневые каталоги
  • б) в архивы
  • в) в каталоги
  • д) на дискете

18. Полный путь к файлу имеет вид C:\BOOK\name_may_l.ppt. Расширение этого файла:

19. Полное имя файла было С:\Задачи\Физика.dос. Его переместили в каталог Tasks корневого каталога диска D:. Каким стало полное имя файла после перемещения?

  • а) D:\Tasks\Физика.txt
  • б) D:\Tasks\Физика.dос
  • в) В:\Задачи\Tasks\Физика.dос
  • г) D: \Tasks\Задачи\Физика.doc

21. Определите, какое из указанных имен файлов удовлетворяет маске: ?hel*lo.c?*

  • а) hello.c
  • б) hello.cpp
  • в) hhelolo.cpp
  • г) hhelolo.c

22. Совокупность средств и правил взаимодействия пользователя с компьютером называют:

  • а) аппаратным интерфейсом
  • б) процессом
  • в) объектом управления
  • г) пользовательским интерфейсом

23. Какие из перечисленных функций отображены кнопками управления состоянием окна?

  • а) свернуть, копировать, закрыть
  • б) вырезать, копировать, вставить
  • в) свернуть, развернуть, восстановить, закрыть
  • г) вырезать, копировать, вставить, закрыть.

Для проверки знаний и умений по теме «Компьютер как универсальное устройство для работы с информацией» вы можете воспользоваться интерактивным тестом к главе 2, содержащимся в электронном приложении к учебнику.

Этичный хакинг и тестирование на проникновение, информационная безопасность


Если вы из тех, кто хочет узнать как работают инструменты указанного сервиса, а также как ими пользоваться на своём компьютере, то продолжайте читать.

Если вам кажется, что проблема с определением типов файлов без расширений надуманная, то это далеко не так! Во-первых, если подумать, это не такая уж простая задача. А с файлом без расширения вы можете столкнуть, например, при декодировании строки из Base64 кодировки.

Во-вторых, у этой статьи будет продолжение, в которой эти же самые инструменты, которые вы изучите на этой странице, будут использоваться для:

1) разбора прошивок (например, роутеров, IP камер) на составные части (первый этап обратной инженерии либо анализа работы устройств для поиска уязвимостей и бэкдоров)

2) поиска файловых систем на дисках и их образах (первый этап криминалистической IT экспертизы)

3) поиска удалённых файлов

Как определить тип данных, если у файла нет расширения

Если у файла нет расширения, то единственным вариантом определения его типа остаётся содержимое этого файла. Можно попробовать добавлять различные расширения к имени файла и пытаться открыть соответствующими для этого расширения программами — этот вариант медленные и неэффективный.

Определённые типы бинарных файлов могут иметь одинаковый набор байтов — по этим байтам можно сопоставить тип файлов. И именно данный метод и применяется программами, предназначенными для определения типа данных. Специфичные байты как правило располагаются не в самом начале файла, поэтому кроме самих байтов, нужно знать смещение от начала, где эти байты должны находиться. Некоторые программы в дополнении к байтам для идентификации ещё имеют список для проверки на ложное срабатывание.

Такие паттерны на английском часто называют magic — это пошло от «magic number» в исполнимых файлах. Эти файлы имеют «магическое число», хранящееся в определённом месте рядом с началом файла, которое сообщает операционной системе UNIX, что файл является двоичным исполняемым файлом и каким именно из нескольких типов. Концепция «магического числа» была применена к другим бинарным файлам. То есть файлы одинакового типа имеют одинаковую последовательность байтов в определённом месте от начала файлов.

Файл с сигнатурами, описывающими какие именно байты, на каком расстоянии от начала файла характерны для файлов того или иного типа, обычно называют magic file.

Кроме магических чисел могут применяться и другие техники, например, программа file для проведения тестов файловых систем также может использовать системный вызов stat. Тип текстовых файлов определяется по содержащимся в них строкам (например, это может быть PHP код, файл в XML или HTML разметке, JSON и так далее).

Команда file — мгновенное определение типа любого файла

В Linux есть команда file с огромной базой сигнатур, которая очень быстро определяет тип файла:

Чтобы узнать, что за файл без расширения, выполните команду вида:


То есть это текстовый файл офисного пакета Microsoft Office.

Можно указать сразу несколько файлов для проверки или использовать подстановочные символы. Например, следующая команда проверит типы всех файлов в текущей папке:


У программы file имеются опции, подробности о них смотрите в отдельной статье «Инструкция по использованию команды file».

Аналог команды file для Windows

file — это утилита командной строки для Linux, поэтому пользователям Windows нужна какая-то альтернатива. Рассмотрим несколько способов использования file в Windows.

1. Утилита file в Cygwin

Данный способ, на мой взгляд, самый простой. Достаточно скачать Cygwin и вы можете пользоваться большинством утилит Linux. Подробности, в том числе как указывать пути в файловой системе, смотрите в ветке «Как начать знакомство с командами Linux: Cygwin».


2. file в WSL

Подсистема Windows для Linux (WSL) это ещё один способ использовать утилиты Linux в Windows. Подробности о работе с WSL смотрите в справочном материале «WSL (подсистема Windows для Linux): подсказки, инструкции, решения проблем».

3. Скомпилированный file для Windows

Файлы различаются архитектурой (64- и 32-битные), а также компилятором.

Распакуйте скаченный архив. Например, я поместил скаченные файлы в папку C:\Users\MiAl\Downloads\file\.

Откройте командную строку, для этого нажмите Win+x, выберите «Windows PowerShell».

Перейдите в папку с программой:

Для определения расширения файла используйте команду вида:


Вы можете проверить сразу много файлов, для этого перейдите в папку с утилитой file и выполните команду вида:

Например, я хочу проверить все файлы в папке Z:\testfiles\, тогда команда следующая:


4. TrID — кроссплатформенная альтернатива file для Windows и Linux

Пример анализа файла — обратите внимание, что выведено несколько вариантов с указанием процентной вероятности каждого из них:


Если указать несколько файлов для идентификации, то будет выведен только самый вероятный вариант типа файла:


Установка TrID в Windows

Распакуйте оба файла в одну папку.

Распакуйте скаченный архив. Например, я поместил скаченные файлы в папку C:\Users\MiAl\Downloads\trid\.

Откройте командную строку, для этого нажмите Win+x, выберите «Windows PowerShell».

Перейдите в папку с программой:

Для определения расширения файла используйте команду вида:

Подстановочные знаки могут использоваться для сканирования групп файлов, целых папок и так далее.




Кроме того, использование ключа -ae даст команду TrID добавить предполагаемые расширения к именам файлов. Это удобно, например, при работе с файлами, восстановленными программами для восстановления данных. Например:

На этом этапе файлы в папке c:\temp будут выглядеть так:

Вместо предыдущей опции можно использовать -ce, которая изменит расширение файла на новое; если у файла нет расширения, будет добавлено новыъое. Например:

  • IAmASoundFile.dat -> IAmASoundFile.wav
  • IAmABitmap -> IAmABitmap.bmp

TrID может получить список файлов со стандартного ввода с помощью переключателя -@.

Таким образом, можно работать со всем деревом папок или определенным подмножеством файлов, просто используя вывод какой-либо другой команды через конвейер. Что-то вроде:

Можно указать TrID показывать дополнительную информацию о каждом совпадении (например, тип mime, кто создал эту сигнатуру, сколько файлов было просканировано и так далее); а также можно ограничить количество отображаемых результатов.

Ключ -v активирует подробный режим, а -r:nn указывает максимальное количество совпадений, которое будет отображать TrID. По умолчанию 5 для обычного режима, 2 для подробного, 1 для многофайлового анализа.

Программа TrID обновляется нечасто, но база данных регулярно получает новые сигнатуры, поэтому время от времени обновляйте базу данных.

5. fil — ещё одна кроссплатформенная альтернатива file

Программа fil написана на Go и является кроссплатформенной. Но в программе настолько мало сигнатур, что, на мой взгляд, утилита fil практически бесполезна.

Альтернативы file

Для большинства нужд по определению типа файла без расширения достаточно утилиты file, но есть утилиты со смежным функционалам, которые могут заменить или уточнить информацию от file. Более подробно каждая из этих программ будет рассмотрена в следующей части, сейчас только краткий обзор.

Detect It Easy

Detect It Easy — это кроссплатформенная программа для определения типов файлов. Имеется вариант с графическим интерфейсом, а также интерфейсом командной строки.

Анализ файла /mnt/disk_d/Share/testfiles/file1 с показом результатов в графическом интерфейсе:

Анализ файла без расширения, расположенного по пути /mnt/disk_d/Share/testfiles/file1 для определения типа файла:

Detect It Easy в первую очередь нацелена на анализ исполнимых файлов, поэтому её функции в большей степени относятся к файлам программ, например, определение архитектуры. Но также имеется поддержка других бинарных файлов.

Binwalk

Binwalk это программа для анализа прошивок, но в ней собрано много сигнатур бинарных файлов, поэтому она подходит для определения типа файла. Особенность Binwalk в том, что она нацелена на работу с составными файлами (которыми обычно и являются прошивки), поэтому она может определять тип файла даже если файл находится не в начале.

Использование такое же, как и file, достаточно указать путь до одного или нескольких файлов:

Detect It Easy и Binwalk не столько конкуренты утилиты file, сколько «последний шанс» определить тип данных, если команда file не помогла.

Читайте также: