Я предлагаю hachoir-wx , чтобы взглянуть на эти файлы. Как установить пакет Python или вы можете попробовать ActivePython с PyPM при использовании Windows. Когда у вас установлены необходимые пакеты hachoir, вы можете сделать что-то вроде этого для запуска GUI:
python C: \ Python27 \ Scripts \ hachoir-wx
Позволяет просматривать поля данных в файлах RAR и ZIP. Смотрите снимок экрана для примера.
Для файлов RAR посмотрите файл technote.txt , который находится в установочном каталоге WinRAR. Это дает подробную информацию о спецификации RAR. Вы, вероятно, будете заинтересованы в этих:
HEAD_FLAGS Bit flags: 2 bytes
0x10 - information from previous files is used (solid flag)
bits 7 6 5 (for RAR 2.0 and later)
0 0 0 - dictionary size 64 KB
0 0 1 - dictionary size 128 KB
0 1 0 - dictionary size 256 KB
0 1 1 - dictionary size 512 KB
1 0 0 - dictionary size 1024 KB
1 0 1 - dictionary size 2048 KB
1 1 0 - dictionary size 4096 KB
1 1 1 - file is directory
Размер словаря также можно найти в графическом интерфейсе WinRAR.
METHOD Packing method 1 byte
0x30 - storing
0x31 - fastest compression
0x32 - fast compression
0x33 - normal compression
0x34 - good compression
0x35 - best compression
И Википедия также знает это:
Утилита сжатия RAR является проприетарной, с закрытым алгоритмом. RAR принадлежит Александру Л. Рошалу, старшему брату Евгения Рошаля. Версия 3 RAR основана на Lempel-Ziv (LZSS) и прогнозировании с помощью сжатия с частичным соответствием (PPM), в частности, реализации PPMd PPMII Дмитрия Шкарина.
Для ZIP-файлов я бы начал с просмотра спецификаций и ZIP-страницы Википедии . Это, наверное, интересно:
general purpose bit flag: (2 bytes)
compression method: (2 bytes)