Где взять список префиксов файлов?

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Где взять список префиксов файлов?

Сообщение Qwertiy » 04.02.2013 (Пн) 11:27

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

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Где взять список префиксов файлов?

Сообщение Хакер » 04.02.2013 (Пн) 11:31

Wotsit? Но только вручную если. Я бы использовал подход с расширяемым списком функиций-номинаторов, а не тупо жестко забитый список «префиксов».
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 04.02.2013 (Пн) 12:36

Хакер писал(а):Wotsit?

Из 6 форматов по кнопке Download скачались только 2 :(
К тому же, это немного не то, чего хотелось бы, к тому же, требует кучу ручной работы.
Но за ссылку спасибо :)

Хакер писал(а):Я бы использовал подход с расширяемым списком функиций-номинаторов, а не тупо жестко забитый список «префиксов».

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

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Где взять список префиксов файлов?

Сообщение Хакер » 04.02.2013 (Пн) 13:05

Я предлагаю использовать не префиксы, а функции, которые изучают файл на предмет того, их ли этот формат, и ставят очки файлу. Выбирается формат, набравший больше всего очков.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 04.02.2013 (Пн) 13:44

Идею про разные функции с разными проверками я понял ещё из прошлого поста. Недостаток в том, что тогда надо знать каждый формат и писать для него отдельную функцию. Т. е. большого числа форматов уже заведомо не будет, к тому же, это увеличит время определения, поскольку просматривать придётся намного больше чем первые несколько байт.
Идея про очки - интересная. Насколько я представляю, она может пригодиться для дополнительных уточнений и форматов, которые всё держат в zip-архиве (например, отличить docx от odt :)).

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16473
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Где взять список префиксов файлов?

Сообщение Хакер » 04.02.2013 (Пн) 14:10

Qwertiy писал(а):Т. е. большого числа форматов уже заведомо не будет, к тому же, это увеличит время определения, поскольку просматривать придётся намного больше чем первые несколько байт.

Не увеличит при грамотном подходе.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 04.02.2013 (Пн) 15:00

Хакер писал(а):Не увеличит при грамотном подходе.

Хочешь сказать, что функции выставления баллов будут работать за то же время, что и чтение первых 10 байтов в файле? Не верю :)

Proxy
Профессор VB наук
Профессор VB наук
Аватара пользователя
 
Сообщения: 2941
Зарегистрирован: 31.08.2007 (Пт) 4:41

Re: Где взять список префиксов файлов?

Сообщение Proxy » 04.02.2013 (Пн) 18:59

Помнится такое добро использовалось в утилитах восстановления файловой системы после необратимой потери таблицы (после ошибочного изменения разметки, например), использовал такое добро лет десять назад. Думаю стоит попробовать изучить как они это делают (они могут распознавать наиболее популярные форматы (размещённые произвольно + получать размеры файлов) ). Судя по всему одним чтением фрагментов, подозреваемых на заголовки, там не обошлось.
Follow the white rabbit.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 16.09.2013 (Пн) 14:58

Qwertiy писал(а):Хотелось бы где-то достать список таких меток и их соответствие форматам, чтобы можно было определять тип файла по его префиксу.

Вроде попался подходящий сайт: http://open-file.ru/. Хотя данные местами позозрительны...

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Где взять список префиксов файлов?

Сообщение iGrok » 16.09.2013 (Пн) 23:21

Есть никсовая утилита magic, и файлы правил для неё. Можно посмотреть в этом направлении.
http://www.bigbiz.com/cgi-bin/manpage?4+magic

Конечно, этому способу идентификации далеко до полноценного идентификатора, описываемого Хакером, зато тут есть и готовый алгоритм, и готовая (и даже, вроде, обновляемая) база.
label:
cli
jmp label

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 17.09.2013 (Вт) 11:21

iGrok писал(а):Есть никсовая утилита magic, и файлы правил для неё. Можно посмотреть в этом направлении.
http://www.bigbiz.com/cgi-bin/manpage?4+magic

Не понял, что с этим вообще делать...

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Где взять список префиксов файлов?

Сообщение iGrok » 17.09.2013 (Вт) 17:34

Конкретно с этим - ничего. Я тебе просто направление поиска подсказал. Есть ещё библиотека libmagic.
Учитывая, что всё описанное - опенсурс, можно найти исходники и т.п.
label:
cli
jmp label


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 4

    TopList