insorg
Platinum Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору EugeneRoshal Цитата: Если обрабатывать ZIP архив, читая central directory в конце файла, оно так и получится. Central directory сошлется на вторую часть, а первая окажется неопределенными данными по типу SFX модуля. | Значит, я таки правильно догадался о причинах именно такой работы. Спасибо за пояснение. Цитата: Я не видел у пользователей WinRAR потребности прочесть все части специально созданного склеенного ZIP архива. | А если бы вдруг появилась, насколько реально обеспечить поддержку чего-то подобного режиму парсера # у 7zip для чтения всяких подобных матрёшек (sfx+архив, или jpeg+rar, или ещё какие "склейки")? Возможно не прям один-в-один (так-то такая задача получается уже решена, не вижу смысла "тупо повторять"), но какой-то индикатор наличия "лишних байтов" до собственно самих байтов архива и после него. Пока не сформулирую даже приблизительно, чисто саму суть представляю. Цель - иметь возможность узнать о том, что "что-то не так" и помимо основных данных есть что-то ещё. Тем более раз оно пропускается (по любым причинам, будь то корректный sfx-заголовок или что-то ещё), значит сам факт наличия таких "хвостов" определяется, а потому и отдельную функцию городить не потребуется. Просто где-то отобразить статус, а не продолжать молча работать. Добавлено: destiny_child Цитата: Т.е. любая последовательность байт в начале рассматривается как ZIP SFX? Без малейшей попытки даже как-то вычленить какие-то характерные паттерны, которые обязаны существовать для ZIP SFX? | А как можно вычленять то, не знамо чего? Сегодня у нас одни версии программ, завтра другие. Сегодня одни ОС, завтра другие. Невозможно заранее учесть все возможные заголовки и маркеры просто потому что всегда неизбежно приходят новые версии как самих sfx, так и вообще операционные системы или даже архитектуры самого железа. Вон, никто в "широких массах" не ожидал на фоне "x86 vs arm" никаких е2к или лонгшан (надеюсь, нигде сейчас ошибку не сделал в названии). А там и "паттерны" другие, и код вообще иной. Да чего уж говорить, даже привычное виндам "расширение имени файла" на не-виндовых системах может быть запросто проигнорировано, особенно в случае SFX. Так что да, чтение с конца для zip не только соответствует спекам, но и логике в целом. |