Проверка архив ли это?

Модератор: Модераторы

Проверка архив ли это?

Сообщение gvido » 30.09.2013 15:32:37

Пару раз задавался вопросом:
---
Как проверить, является ли данный файл архивом?
Если файл - архив, то какой архив(каким архиватором упакован)?
----
Первое, что пришло в голову, попытаться найти закономерности в заголовке файла.
В arj, ms cab, pkzip - нашел быстро, но вот с остальными, проблема...
Есть ли варианты как-то определить данное свойство файла? Конечно интересует кроссплатформенный вариант.
Для начала сойдет вариант под Windows.
У кого какие идеи есть по этому счету? Если есть какие либо компоненты, которые решают данную задачу, то очень бы хотелось посмотреть, как именно это делается.
gvido
постоялец
 
Сообщения: 188
Зарегистрирован: 28.03.2012 11:35:31

Re: Проверка архив ли это?

Сообщение ViTality » 30.09.2013 16:32:46

одна из первых ссылок в яндексе
http://habrahabr.ru/post/186828/
а там две ссылки на списки сигнатур
http://en.wikipedia.org/wiki/List_of_file_signatures
http://filesignatures.net/index.php?page=all
думаю для вашей задачи достаточно более чем
ViTality
постоялец
 
Сообщения: 308
Зарегистрирован: 05.10.2007 15:12:02

Re: Проверка архив ли это?

Сообщение gvido » 30.09.2013 17:09:31

Спасибо. :)
Да, пожалуй, это то, что было нужно. :)


ps.
Правильно сформулированный вопрос содежит как минимум часть ответа. :)
gvido
постоялец
 
Сообщения: 188
Зарегистрирован: 28.03.2012 11:35:31

Re: Проверка архив ли это?

Сообщение debi12345 » 30.09.2013 17:26:38

Нужно точно узнать или навскидку ? Если навскидку - то через сигнатуры. Если нужно точно - сперва сигнатура, потом - тестирование арихива тем архиватором, что увязан с сигнатурой.
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5752
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: Проверка архив ли это?

Сообщение gvido » 01.10.2013 13:44:46

Нужно узнать быстро и максимально точно.
gvido
постоялец
 
Сообщения: 188
Зарегистрирован: 28.03.2012 11:35:31

Re: Проверка архив ли это?

Сообщение debi12345 » 01.10.2013 18:46:32

Нужно узнать быстро и максимально точно.

Если архив битый или недокачанный (заголовок/сигнатура в порядке, начальная часть данных -тоже, остальное - мусор) - без (возможно медленного) тестрирования всего архива не обойдешься. Если есть возможность (заранее известные имена и контрольные суммы файлов,..) - можно вместо тестирования архива сличать конрольные суммы, в идеале - SHA256-хэши.
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5752
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)


Вернуться в Файловая система

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru