EugeneRoshal
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору insorg Цитата: Нужно в CAB архивах в соответствующей колонке GUI показывать контрольную сумму, либо хотя бы сам факт его наличия. Осуществимо? | Вряд ли. Я сейчас посмотрел документацию на CAB формат. В заголовке файла (CFFILE в терминах cab) контрольной суммы нет. Она есть в CFDATA, до которой можно добраться по ссылке из CFFOLDER. Но, похоже, одна структура CFDATA может приходиться на несколько файлов. Иначе говоря, контрольная сумма считается для solid блока целиком, а не для отдельных файлов. По крайней мере, после беглого чтения документации у меня осталось такое впечатление. Сейчас WinRAR для показа содержимого читает только CFFILE, а до CFDATA не добирается. При распаковке он задействует cabinet.dll, который проверяет и контрольные суммы. Усложнять в разы разбор структур архива при показе содержимого не хотелось бы. Нам удалось бы выяснить только то, что файл входит в состав solid блока, у которого есть контрольная сумма, но не контрольную сумму конкретного файла. Слишком мало полезной информации в обмен на серьезное усложнение кода (разбор CFFOLDER и CFDATA, поиск CFDATA, включающей данные CFFILE). Да и контрольная сумма там нестандартная своя, сравнить ее с прочими известными суммами не выйдет. Добавлено: maxvlas Цитата: а третий думает не знаю почему | Я уже тот архив потер, но может там словарь больше, дольше память выделяет. Если компьютер старый и свободной памяти мало, там и swap file может быть задействован. |