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

Как определить сигнатуру файла

  • автор:

определение сигнатуры файла

Нужно индифицировть xls, doc, rar, arj и zip форматы.
Подскажите как в Delphi правильно определить сигнатуру файла. Я так понимаю что надо считать несколько первых байт, а потом их сравнивать с извесными (для exe — MZ).

П.С: разширения у файлов разные, нужно именно правильно пределить тип.

6 ответов

31 августа 2007 года
31 / / 12.03.2007

Для arj первые 4 байта — $60 $EA $28 $00
для zip первые 4 байта — $50 $4B $03 $04
А вот с xls и doc труднее, потому что они используют стандартное хранилище IStorage, и сигнатуры у них абсолютно одинаковы.

01 сентября 2007 года
1.6K / / 18.09.2005
ну, а Rar всем известно: $52 $61 $72 $21 (Rar!).
03 сентября 2007 года
3 / / 30.08.2007
с архиваторами я разобрался, осталось основная задача, различить ворд или ексель.
03 сентября 2007 года
118 / / 08.08.2007

В конце xls-файла есть строка «W o r k b o o k», а в doc-файле «W o r d D o c u m e n t». Вроде бы так. Открой файл, например, блокнотом, и посмотри.

04 сентября 2007 года
3 / / 30.08.2007

«W o r k b o o k», а в doc-файле «W o r d D o c u m e n t». это не самый интересный путь . вот к примеру: есть текстовый файл в котором будет написано «W o r k b o o k» «Excel» . и что должна думать програма в этом случае ? а то что обычный тхт это ексель файл.

04 сентября 2007 года
1.0K / / 25.11.2004

Честно говоря, не совсем понимаю, к чему такой изврат, но можно определять по первым байтам файла (‘РП’) + ‘W o r k b o o k’.
К тому же, следуя твоей логике, можно создать текстовый файл, начинающийся с ‘Rar!’ и программа подумает, что это rar архив.
Расширения для того и были придуманы, чтобы определять тип файла, а уж правильный он имеет формат или нет — определяет программа, которая с ним работет.
Все это — мое сугубое ИМХО.

Определение формата файла

На данной странице можно определить формат файла по имени (расширению), а также по данным файла. Второй метод поможет, если файл был переименован и расширение файла не соответствует его формату. Также будет определен тип данных (двоичные, текстовые), которые содержатся в файле. Двоичные файлы можно открыть только в специальной программе, текстовые — в любом текстовом редакторе.

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

Для определения формата выберите файл или перетащите его сюда и дождитесь загрузки страницы

Выберите файл

Программы

  • Проигрыватели аудио/видео
  • Редакторы изображений
  • Текстовые редакторы
  • Web-браузеры
  • Архиваторы
  • Работа с дисками
  • Офисные программы/пакеты

Файлы

  • Аудио-файлы
  • Видео-файлы
  • Рисунки, изображения
  • Растровые изображения
  • Векторные изображения
  • 3D-модели, изображения
  • CAD-файлы
  • Текст, документы
  • Электронные таблицы
  • Электронные книги
  • Архивы, сжатые файлы
  • Исполняемые файлы
  • Интернет, web файлы
  • Файлы игр
  • Образы дисков
  • Системные файлы
  • Файлы шрифтов
  • Зашифрованные файлы
  • Размеченные документы
  • Файлы резервных копий
  • Файлы данных
  • Файлы баз данных
  • Скрипты, исходный код
  • Подключаемые модули
  • Файлы настроек
  • Географические файлы
  • Другие файлы

© Open-file.ru, 2008-2023

Определить сигнатуру файла

Помогите с задачей. Нужно определить сигнатуру файла и вывести ее на экран. Как это сделать ?
Вводится путь к файлу, сигнатуру которого надо определить.

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

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

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

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

Записать в начало файла сигнатуру BOM (EF BB BF) UTF-8 с BOM
Всем привет. Ребята подскажите как это можно сделать? Я пробовал и так QFile fal ("file"); .

Узнать сигнатуру файла

Привет. Увлекся немного работой с файлами и в ходе изучения столкнулся с понятием сигнатура файла. Инфы, которая бы внятно объяснила как эта сигнатура выглядит и как ее достать не нашел. Может не так искал. Так вот, прошу Вас мне помочь это понять). Например есть файл C:\primer.exe. Как програмно узнать его сигнатуру в C#? Можно ли ее вывести в ричтекстбокс?

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

Ответы с готовыми решениями:

Как найти битовую сигнатуру в BitArray?
Друзья, добрый день! Есть последовательность "битов" в BitArray (берется из файла >100M) И есть.

Подписать сигнатуру секретным ключом (MD5, 32-bit)
api_key=376892265asdad5d12726d8bbfbd8912b3&id=302221&timestamp=1510235730&nonce=309127 Как.

Узнать автора файла
Появилась проблема: необходимо получить автора файла (т.е. того, кто его создал. Напр. Microsoft.

Как узнать версию файла?
собственно на прилепленной картинке есть 2 поля — версия продукта и версия файла, как получить.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *