|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
06.04.2014, 00:44 | #1 |
Пользователь
Регистрация: 21.01.2008
Сообщений: 12
|
Распаковщик на Delphi
Помогите пожалуйста написать распаковщик, дело в том что известен только размер файлов причем вместе с заголовком и предыдущим файлом.
Думал сделать так: FOffset = FSize2 - FSize1, но я так понимаю будет работать только для первого файла, даьше будет читаться файл2 и файл3, а надо файл2 и файл1, и так далее. файлов может быть разное количество. |
06.04.2014, 02:13 | #2 |
Заблокирован
Регистрация: 02.03.2014
Сообщений: 439
|
Без наличия чёткого ответа на вопрос о алгоритмах упаковки распаковать HEX практически невозможно, если только речь не о простейших последовательных алгоритмах.
|
06.04.2014, 02:45 | #3 |
Пользователь
Регистрация: 21.01.2008
Сообщений: 12
|
просто идетзаголовок в котором первые 4 байта размер заголовка, а дальше каждые 4 байта размер фала с начала заголовка, на скриншоте показан пример с 7ю файлами
|
06.04.2014, 02:58 | #4 |
ПШП
Участник клуба
Регистрация: 15.07.2013
Сообщений: 1,872
|
|
06.04.2014, 03:44 | #5 |
Заблокирован
Регистрация: 02.03.2014
Сообщений: 439
|
SDK А имя заголовка куда делось? Или заголовок имеет только размер? Тогда это не заголовок, а указатель на количество файлов в архиве, и к заголовку он не имеет ни какого отношения. Прошу уточнить этот момент.
|
06.04.2014, 09:14 | #6 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Да. Без чтения мыслей, тут никак не обойтись (извините за флуд).
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
06.04.2014, 20:57 | #7 |
Пользователь
Регистрация: 21.01.2008
Сообщений: 12
|
в общем ладно, объяснить я так понимаю не смогу, хотя на скриншоте вроде все видно, я специально красным выделил 32 байта, здесь хранятся размеры файлов.
Кто нибудь знает пример распаковщика когда известны только размеры файлов без их смещения. |
06.04.2014, 21:06 | #8 |
Заблокирован
Регистрация: 02.03.2014
Сообщений: 439
|
SDK Работа с файловыи потоком, поиск порченого байта
Для ясности ресурс, это тот же архив. Ну и ресурс мне попался очень простой, поэтому перепаковал его потрудившись всего пару дней. В итоге была определена следующая структура 4 байта - количество файлов в архиве перечисление по 4 байта - размеры файлов в архиве далее сами файлы, позиции начала и конца которых определены шапкой. Возможно у Вас аналогичная структура. |
06.04.2014, 21:28 | #9 |
Пользователь
Регистрация: 21.01.2008
Сообщений: 12
|
Количество файлов прописано в начале файла, потом смещение, далее идет куча мусора фиксированного размера, я иду по смещению, попадаю к нужным мне файлам, первые 4 байта на скриншоте солатневый цвет (в данном примере 20 00 00 00) это размер заголовка он весь выделен красным, далее 4 байта в этом заголовке идет размер первого файла с учетом всего заголовка, следующие 4 байта размер второго файла с учетом заголовка и первого файла, и так далее, вроде уже все подробно объяснил
|
06.04.2014, 21:46 | #10 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Распаковщик файла .sf | darkdoren | Общие вопросы C/C++ | 4 | 03.08.2013 13:25 |
Распаковщик-конвертер 3д формата типа .dff | Brutalus | Фриланс | 0 | 17.11.2012 13:13 |
Хочу написать распаковщик формата | Anton911 | Общие вопросы Delphi | 4 | 05.05.2012 10:43 |
bash-распаковщик архивов | SNake Ice | Помощь студентам | 0 | 02.04.2011 04:31 |
Нужен распаковщик .ехе файлов | Veselyn | Софт | 3 | 03.05.2009 06:24 |