Ответ 1
Я предлагаю 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
И Wikipedia также знает это:
Утилита сжатия RAR является запатентованной с закрытым алгоритмом. RAR принадлежит Александру Рошалу, старшему брату Евгения Рошала. Версия 3 RAR основана на Lempel-Ziv (LZSS) и прогнозировании с помощью частичного согласования (PPM), в частности, PPMd реализации PPMII Дмитрия Шкарина.
Для файлов ZIP я бы начал с рассмотрения спецификаций и Страница Wikipedia. Вероятно, это интересно:
general purpose bit flag: (2 bytes)
compression method: (2 bytes)