Как узнать формат файла
Все файлы на диске хранятся в виде двоичного (бинарного) кода. Последовательность цифр 1 и 0 определяет содержимое файла. В одном случае эти цифры могут составлять простой текст, в результате чего мы видим обычные текстовые файлы. В другом - это последовательность байт, которая несет самую разную информацию, например: аудио, видео, картинки или закодированный текст. Откройте в текстовом редакторе файлы .TXT и .EXE и вы почувствуете разницу.
В данной статье рассказано каким еще способом (кроме непосредственно расширения файла) можно идентифицировать формат двоичного файла, который не является обычным текстовым. Таких файлов большинство. Именно в них часто есть заголовок файла - это первые несколько байт в определенной последовательности. Часть заголовка может быть одинакова у файлов с одинаковым расширением. Эта часть отвечает за формат файла, для удобства назовем ее «дескриптор заголовка файла» (description с англ. - описание).
Таким образом, если необходимо более точно идентифицировать формат файла или файл переименован и его истинное расширение неизвестно, то узнать что это за файл можно с помощью дескриптора заголовка файла. У нас на сайте дескрипторы представлены в трех видах: HEX, ASCII и ASCII (расширенный). Опишем преимущества каждого представления.
HEX и ASCII. Чтобы определить дескриптор заголовка файла и, соответственно, формат файла, необходима программа, которая представляет файл в виде HEX (шестнадцатеричного кода). Это может быть любой HEX-редактор. Но лучше всего для наших целей подойдет программа MiniDumper (20 Кб).
Скачиваем программу, распаковываем ее, открываем. Далее нажимаем кнопку «Select file…», выбираем файл и видим следующее:
Берем первые 2-3 блока из левой колонки (HEX) или первые символы (точки не учитываем) из правой колонки (ASCII), как показано на рисунке; вводим в соответствующее поле расширенного поиска и получаем результат:
Если расширений найдено много, то можно увеличивать количество блоков до достижения однозначного результата. И наоборот, если Вы ничего не нашли, то следует уменьшить количество блоков.
ASCII (расширенный). ASCII с расширенной таблицей символов - кириллицей и специальными символами. Этот вариант специально создан для ленивых: просто откройте файл с помощью блокнота и ищите первые от начала значащие символы. Например:
Далее, вставляем эти символы в соответствующее поле расширенного поиска и получаем результат:
Обращаем ваше внимание, что наиболее точным и продуктивным из всех трех вариантов будет поиск по HEX-декскрипторам, т.к. некоторые последовательности байт невозможно перевести в корректный ASCII-код и HEX-значения мы берем точно из начала файла.
Самый простой метод определить формат файла в операционной системе Windows 10 — перейти в его свойства через контекстное меню и там просмотреть интересующую информацию. Для этого понадобится выполнить всего пару кликов.
-
Найдите необходимый объект и нажмите по нему правой кнопкой мыши.
Способ 2: Настройка «Параметры папок»
Если вы уже обратили внимание на предыдущие скриншоты, то заметили, что после названия файла идет точка и указывается его формат. Это второй метод узнать расширение, но для этого его отображение придется включить через настройку «Параметры папок», что осуществляется так:
-
В шапке «Проводника» нажмите по расположенной справа стрелке вниз, чтобы открыть дополнительную панель инструментов.
Способ 3: LocateOpener
Определить расширение файла и получить дополнительную информацию по нему можно не только при помощи стандартных средств операционной системы, но и через решения от сторонних разработчиков, которые иногда даже оказываются полезнее, поскольку позволят распознать тип неизвестного ОС объекта. Первая такая программа называется LocateOpener.
-
Загрузите софт LocateOpener с официального сайта, перейдя по ссылке выше, а затем запустите исполняемый файл, находящийся в архиве.
Способ 4: Analyze It!
Analyze It! — полноценное программное обеспечение с графическим интерфейсом, которое позволяет узнать абсолютно всю доступную информацию о выбранном файле, включая его расширение. Для использования софта потребуется выполнить такие действия:
-
После установки Analyze It! нажмите «Browse» справа от верхнего поля, чтобы перейти к добавлению файла.
Способ 5: Identify
Если нет желания устанавливать программы для определения расширения файла, можно воспользоваться портативной версией Identify, которая не требует инсталляции и сразу же работает после скачивания. Сама функциональность этого софта сосредоточена исключительно на распознании формата выбранного объекта.
-
Загрузите архив Identify, откуда сразу же запустите ПО или распакуйте его в любое удобное место на компьютере.
Если вдруг оказалось, что истинное расширение файла не соответствует тому, которое отображается в операционной системе, его придется поменять вручную, чтобы корректно открыть через требуемую программу или стандартное средство. Развернутую инструкцию по выполнению поставленной задачи вы найдете в материале от другого нашего автора ниже.
Уточним, что если узнать формат файла не получилось никакими средствами, скорее всего, он поврежден. Однако случаются такие ситуации, когда под подобными элементами маскируются вирусы, поэтому в целях безопасности рекомендуется запустить сканирование через любую удобную программу и проверить, не заражен ли ПК. Детальнее об этом читайте в статье далее.
Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Этичный хакинг и тестирование на проникновение, информационная безопасность
Если вы из тех, кто хочет узнать как работают инструменты указанного сервиса, а также как ими пользоваться на своём компьютере, то продолжайте читать.
Если вам кажется, что проблема с определением типов файлов без расширений надуманная, то это далеко не так! Во-первых, если подумать, это не такая уж простая задача. А с файлом без расширения вы можете столкнуть, например, при декодировании строки из 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 не помогла.
Связанные статьи:
факультете информационной безопасности от GeekBrains? Комплексная годовая программа практического обучения с охватом всех основных тем, а также с дополнительными курсами в подарок. По итогам обучения выдаётся свидетельство установленного образца и сертификат. По этой ссылке специальная скидка на любые факультеты и курсы!
Существует множество разновидностей файлов. Они могут быть текстовыми, графическими, музыкальными, программными и т.д. Чтобы и пользователю, и операционной системе было проще ориентироваться в подобном многообразии, каждый файл имеет собственное расширение, являющееся своего рода идентификатором. Представленное далее руководство поможет вам понять, зачем нужно знать расширение файла, как включить отображение такой информации в операционной системе Windows и каким образом можно определить формат файла, не имеющего видимого расширения.
Зачем знать расширение файла?
- Найти подходящую программу в интернете.
- Выбрать необходимое приложение самостоятельно из перечня установленных.
Практика показывает, что первый вариант бесполезен – ничего толкового обычно найти не удается. А вот второе решение весьма эффективное. Зная расширение файла, вы сможете безо всяких проблем найти подходящую программу, воспользовавшись для этого возможностями своей любимой поисковой системы.
Как включить отображение расширений
По умолчанию отображение расширений в операционной системе Windows отключено. Опытные пользователи при необходимости могут активировать эту функцию самостоятельно, а неопытным она и не нужна – можно случайно изменить расширение важного системного файла, что приведет к различным нарушениям работы Windows.
Если вам понадобилось включить отображение расширений, вы наверняка знаете, зачем это делаете. В такой ситуации следуйте нижеизложенной инструкции.
Как узнать формат файла без расширения
Даже после включения отображения расширения, некоторые файлы будут показываться без такового. Пример можете увидеть на следующем скриншоте.
Аналогичные ситуации могут происходить при загрузке файлов из интернета или сохранении их на компьютер из других источников. Выход есть и из такой ситуации. Вы можете узнать формат файла без расширения с помощью специального сервиса.
Целевая страница имеет следующий вид:
Работа с сервисом осуществляется в следующем порядке.
В случае успешного завершения операции, сразу под формой отправки файла на проверку вы увидите всю необходимую информацию об анализируемом объекте.
Теперь вы знаете, зачем нужно знать расширение файла, как включить отображение этой информации в операционной системе Windows, а также владеете инструментом для определения формата файлов, не имеющих собственного видимого расширения.
(12 оценок, среднее: 4,58 из 5)
Онлайн-сервис под названием Open File позволяет не только определить формат файла, но и получить более детализированную информацию по нем, в том числе и узнав, с какой вероятностью он применяется в тех или иных сферах. Еще одно достоинство этого инструмента в том, что он загружает только первые 25 байт объекта, а значит, процесс обработки пройдет одинаково быстро вне зависимости от того, какой объем имеет файл.
-
Нажмите по кнопке «Выберите файл» или сразу же перетащите его в выделенную область.
Способ 2: CheckFileType
Разработчики онлайн-сервиса CheckFileType постарались и собрали огромное количество информации обо всех известных форматах файла, поэтому можно сказать, что данный сайт практически на сто процентов справляется с возложенной на него задачей, а убедиться в этом можно так:
-
Откройте главную страницу сайта CheckFileType, кликнув по ссылке выше. Там вы можете переместить файл в выделенную область или нажать «Browse», чтобы перейти к его выбору через «Проводник».
Способ 3: Aconvert
В завершение отметим онлайн-сервис Aconvert, которым вы можете воспользоваться в тех случаях, когда два предыдущих оказались неподходящими. Разобраться с принципом проверки файла будет несложно, а если вдруг с этим возникли трудности, просто ознакомьтесь со следующей инструкцией.
-
Кликните по ссылке выше, чтобы перейти к сайту Aconvert. Там нажмите «Выберите файл» для перехода к его загрузке.
К сожалению, не всегда описанные выше онлайн-сервисы оказываются действенными, а также возможна ситуация, когда ни один из них не в состоянии определить формат файла. Тогда рекомендуется использовать полноценное программное обеспечение, о котором читайте в статье по ссылке ниже.
Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Читайте также: