Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Программная инженерия > Безопасность, Шифрование
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.06.2014, 04:46   #1
iworm2009
Пользователь
 
Регистрация: 07.05.2013
Сообщений: 51
Сообщение вопрос философский

Вобщем наверное больше поболтать.
к примеру
есть некий cab архив размером 539 545 604 байт
в нем есть хвост 3076 байт
из этих 3076 байт все ноли кроме последних 5 байт. И эти 5 байт меняются в разных архивах и это какая то 5байтовая контрольная сумма.
Т.е если попробовать открыть архиватором 539 545 604 байт то архиватор ругается на неправильный конец архива, но открывает и показывает файлы.
Если обрезать последние 3076 байт и попробовать снова открыть архиватором то все ок архив как цельный.

Вопрос что это за хвост, точнее мне интересно что за 5 байт в конце и как они генерируются.
Очень прошу идеи.
iworm2009 вне форума Ответить с цитированием
Старый 26.06.2014, 04:48   #2
iworm2009
Пользователь
 
Регистрация: 07.05.2013
Сообщений: 51
По умолчанию

ой ой ой. 4 байта. пошел снова шерстить инет
iworm2009 вне форума Ответить с цитированием
Старый 26.06.2014, 07:26   #3
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
И эти 5 байт меняются в разных архивах и это какая то 5байтовая контрольная сумма.
Маловато для контрольной суммы. Может это дата создания ? Тут надо искать спецификацию cab.

--ДОБАВЛЕНО--
Почитал описание, там действительно идет проверка контрольной суммы, но где именно она располагается не известно. Однако написано, что пустой файл в качестве контрольной суммы содержит нули. Так что косвенно свою гипотезу Вы можете проверить если создадите пустой cab-файл и прочтете подозрительное место.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 26.06.2014 в 07:32.
Utkin вне форума Ответить с цитированием
Старый 26.06.2014, 07:32   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Взял у себя один из таких файлов. В конце нет пустот, и открывается распаковщиком нормально.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.06.2014, 07:57   #5
iworm2009
Пользователь
 
Регистрация: 07.05.2013
Сообщений: 51
По умолчанию

ну я ж поправился... 4 байта.. это походу crc32... ща попробую наваять что нить, чтобы чтобы отрезало по байту c конца от исходного файла и проверяло на совпадение с crc32.

https://yadi.sk/i/yymtc-kGUvR8V концовка архива

Цитата:
Сообщение от Utkin Посмотреть сообщение
Маловато для контрольной суммы. Может это дата создания ? Тут надо искать спецификацию cab.

--ДОБАВЛЕНО--
Почитал описание, там действительно идет проверка контрольной суммы, но где именно она располагается не известно. Однако написано, что пустой файл в качестве контрольной суммы содержит нули. Так что косвенно свою гипотезу Вы можете проверить если создадите пустой cab-файл и прочтете подозрительное место.
Распаковал и создал снова из этих же файлов cabик новый уже дома. Запаковывал программой 7z без сжатия (сжатия в исходном файле нет)... В конце нули. т.е как я понимаю какой то сторонней программой добавлен этот проверочный код из 4х байт.
Итог. исходный файл 539 545 604 байт
мной полученный 539 542 528 байт


А ну собственна никаких ни дат ничего еще, это именно crc32 или что то подобное, потому что меняя хотя бы 1 любой байт с исходного архива он не принимается далее процедурой проверки целостности...

Последний раз редактировалось Stilet; 26.06.2014 в 11:19.
iworm2009 вне форума Ответить с цитированием
Старый 26.06.2014, 09:50   #6
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Цитата:
Сообщение от iworm2009 Посмотреть сообщение
Очень прошу идеи.
http://msdn.microsoft.com/en-us/libr...fileformatspec
waleri вне форума Ответить с цитированием
Старый 26.06.2014, 11:08   #7
iworm2009
Пользователь
 
Регистрация: 07.05.2013
Сообщений: 51
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Спасибо. Почитал. К сожалению там ничего в структуре нет про присутствие непонятных и вместе с тем необходимых 4-х байт

Ps. пробовал такую логику: брал файл отрезал с конца 4 байта посчитал crc не совпало с $04 $7B $FF $22, отрезал 20 байт..., затем 36 .. 52 .... довел до 6996 отрезанных байт - безрезультатно.

Поставлю счас $22 $FF $7B $04 в этом же ключе

Да ваще файл не так как у мсдн

Последний раз редактировалось iworm2009; 26.06.2014 в 11:40.
iworm2009 вне форума Ответить с цитированием
Старый 26.06.2014, 18:38   #8
iworm2009
Пользователь
 
Регистрация: 07.05.2013
Сообщений: 51
По умолчанию

я могу исходный файл выложить, если кому то интересно...
iworm2009 вне форума Ответить с цитированием
Старый 26.06.2014, 19:46   #9
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Э-э-э 500 Мб выложить? Кто его качать-то будет такой файл? Ого-го... Вай-вай прям.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.06.2014, 20:57   #10
iworm2009
Пользователь
 
Регистрация: 07.05.2013
Сообщений: 51
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Э-э-э 500 Мб выложить? Кто его качать-то будет такой файл? Ого-го... Вай-вай прям.
К сожалению, не понимаю сам алгоритма а меньше 414 МБ нету
Да и скачать пол гига в 2014 году не такая уж продолжительная процедура...
iworm2009 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Философский вопрос - как искусственно ограничить ресурсы системы? _KUL Общие вопросы C/C++ 10 16.05.2012 19:02
Философский детерминизм и не только. Флудим здесь! rpy3uH Свободное общение 23 09.11.2011 09:55
вопрос по сокетам и общение как в ICQ.Сложный вопрос... Руслантус Общие вопросы C/C++ 2 12.08.2008 21:10
Философский вопрос)сисадминам Elm0 Свободное общение 8 24.03.2008 11:20