WinRAR - История изменений версий
Версия 5.00
1. Новый формат архивирования RAR 5.0. Чтобы создавать архивы RAR 5.0,
используйте параметр "RAR 5.0" в диалоговом окне архивирования
или ключ -ma в командной строке.
Старые программы, включая предыдущие версии WinRAR, неспособны
распаковывать архивы RAR 5.0, поэтому если предполагается отправлять
архив другим пользователям, следует учитывать вопросы совместимости.
Чтобы создавать архивы RAR 4.x, совместимые с предыдущими версиями
WinRAR, в диалоговом окне архивирования вместо "RAR5" следует выбирать
параметр"RAR".
2. Изменения в алгоритме сжатия RAR 5.0:
а) максимальный размер словаря сжатия в 64-разрядной версии WinRAR
увеличен до 1 ГБ. В 32-разрядной версии WinRAR при создании
архива можно использовать словарь размером до 256 МБ.
Обе версии – 32- и 64-разрядная – способны распаковывать архивы
с любым размером словаря, включая 1 ГБ;
б) размер словаря для RAR 5.0 по умолчанию составляет 32 МБ, при котором,
как правило, степень сжатия выше, а скорость архивирования ниже, чем
у RAR 4.x со словарём 4 МБ. Чтобы изменить размер словаря, используйте
параметр "Размер словаря" в диалоговом окне архивирования или ключ
-md<размер> в командной строке;
в) изменён синтаксис ключа -md<размер> для поддержки словарей большего
размера. Чтобы указать размер в кило-, мега- и гигабайтах, добавляйте
модификаторы 'k', 'm' и 'g' соответственно. Например, для словаря
размером 64 МБ это будет ключ -md64m.
Если модификатор отсутствует, подразумевается размер в мегабайтах,
т.е. ключи -md64m и -md64 эквивалентны;
г) в формате RAR 5.0 реализованы алгоритмы упаковки исполняемых файлов
Intel IA-32 и дельта-сжатия, но не поддерживаются алгоритмы RAR 4.x
для сжатия текста, аудио, полноцветной графики и исполняемых файлов
Itanium. Эти исключённые алгоритмы уже неэффективны для современных
типов данных и аппаратных конфигураций;
д) при распаковке RAR 5.0 могут использоваться несколько ядер ЦП.
Это даёт увеличение производительности не столь сильное, как
при сжатии, но повышает скорость распаковки больших файлов с
плохосжимаемыми данными или при использовании контрольных сумм BLAKE2.
3. Изменения в архивном формате RAR 5.0:
а) времена файлов хранятся во всемирном координированном времени (UTC),
а не в локальном времени, как это было ранее, благодаря чему
упрощается обмен файлами между пользователями, находящимися в разных
часовых поясах;
б) имена файлов и архивные комментарии хранятся в кодировке UTF-8.
4. Используемые в RAR 5.0 данные для восстановления основаны на кодах
Рида-Соломона. Если объём данных для восстановления достаточно большой
(5% и выше), новая схема коррекции ошибок обеспечивает значительно более
высокую устойчивость к множественным повреждениям информации, нежели
данные для восстановления в RAR 4.x. При использовании данных для
восстановления меньшего объёма (1–2%) или в случае менее случайного
повреждения информации разница в эффективности между 4.x и 5.0 будет
менее заметна. В случае одиночного непрерывного повреждения
эффективность восстановления 4.x и 5.0 примерно одинакова.
Помимо обычных повреждений данных, новые данные для восстановления
позволяют обнаруживать удаления и вставки гораздо большего размера,
чем в предыдущих версиях RAR. Максимальный размер вставки составляет
несколько мегабайт. Максимальный размер удаления зависит от типа
повреждения и в некоторых случаях может быть равным размеру
данных для восстановления.
Тем не менее, наилучшие производительность и эффективность восстановления
достигаются при отсутствии удалений и вставок данных, т.е. когда вся
информация, включая повреждённые сектора, находится на своей исходной
позиции. Таким образом, если для копирования архива с повреждённого
носителя вы пользуетесь каким-то особым ПО, лучше выбирать режим,
при котором повреждённые сектора заменяются нулями или какими-либо
другими данными, а не удаляются полностью из результирующего файла.
Данные для восстановления RAR 5.0 более устойчивы и к повреждению
самих себя, так что для восстановления информации можно использовать
частично повреждённые данные для восстановления. Следует, однако,
иметь в виду, что команда "Исправить" не восстанавливает повреждённые
блоки в данных для восстановления. Восстановлению подлежат только
файловые данные. После успешного восстановления архива следует создать
для сохранённых файлов новые данные для восстановления.
Новые данные для восстановления теперь не базируются на секторах
размером 512 байт и включают более сложные структуры информации. Так,
допускается указывать размер в секторах. Для архивов RAR 5.0
параметр N ключа -rr[N] и команды rr[N] всегда интерпретируется как
процент от размера архива вне зависимости от наличия символа %.
Как правило, данные для восстановления N% способны восстановить
до N% непрерывно расположенной повреждённой информации и увеличивает
размер архива чуть более чем на N%. Возможность исправления нескольких
повреждений пропорциональна N.
Для улучшения производительности кодов Рида-Соломона мы использовали
документ "Screaming Fast Galois Field Arithmetic Using Intel
SIMD Instructions" (авторы James S. Plank, Kevin M. Greenan
и Ethan L. Miller). Мы также выражаем признательность Артёму Дробанову
и Булату Зиганшину за примеры и идеи, позволившие позволившие повысить
эффективность кодов Рида-Соломона.
5. Команда "Тест" проверяет целостность данных для восстановления
RAR 5.0. Проверка данных для восстановления выполняется после
обработки всех файлов в архиве.
Если повреждённый архив содержит данные для восстановления, есть
вероятность восстановить его даже в том случае, если не пройден тест
целостности данных для восстановления. Команда "Исправить" пытается
использовать даже частично повреждённые данные для восстановления.
Поэтому непрохождение теста данных для восстановления следует
считать причиной для повторного создания архива, если исходные файлы
всё ещё доступны, но не причиной избегать команду "Исправить".
6. Изменения в алгоритме шифрования RAR 5.0:
а) алгоритм шифрования изменён с AES-128 на AES-256 в режиме CBC.
Функция деривации ключа основана на PBKDF2 с использованием
HMAC-SHA256;
б) специальное значение проверки пароля позволяет определять
большинство неверных паролей без необходимости распаковывать
весь файл;
в) если заголовки архива не зашифрованы (выключен параметр
"Шифровать имена файлов"), контрольные суммы зашифрованных в
RAR 5.0 файлов изменяются посредством особого, зависящего от
пароля алгоритма, с целью сделать невозможным угадывание содержимого
файлов по их контрольным суммам. Не ожидайте, что контрольные суммы
зашифрованных файлов совпадут с действительными значениями CRC32 или
BLAKE2.
7. Архивы RAR 5.0 позволяют использовать хеш BLAKE2sp длиной 256 бит
(
[Для просмотра данной ссылки нужно зарегистрироваться] ) вместо 32-разрядных контрольных сумм CRC32.
Для этого включите параметр "Использовать контрольные суммы BLAKE2" на
вкладке "Опции" диалогового окна архивирования или укажите в командной
строке ключ -htb.
При использовании BLAKE2 архивы получаются чуть большего размера, однако
BLAKE2 позволяет точно идентифицировать содержимое файлов. Если два
файла имеют одинаковое значение BLAKE2, это практически гарантия того,
что одинаково и их содержимое.
Кроме того, определение ошибок у BLAKE2 также более эффективное,
чем у гораздо более короткого CRC32.
8. Удалены функции:
а) функция электронной подписи не обеспечивала должного уровня
надёжности и была удалена;
б) ключ -en (не добавлять блок "конец архива") не поддерживается
в архивах RAR 5.0, у которых всегда есть блок конца архива.
Этот блок помогает WinRAR безопасно пропускать такие добавленные
к архиву внешние данные, как цифровые подписи;
в) старый стиль расширений многотомных архивов вида имя_архива.rNN
не поддерживается в архивах RAR 5.0, тома которых именуются
только как имя_архива.partN.rar;
г) комментарии файлов больше не поддерживаются в архивах RAR 4.x
и RAR 5.0. В консольной версии RAR удалена команда 'cf'.
Это не относится к поддержке комментариев архивов, присутствующей
в обеих версиях архивов и удаление которой не планируется.
9. Команда "Установить пароль" и параметр "Размер словаря" перенесены
на вкладку "Общие" диалогового окна архивирования.
10. Параметр "Сохранять символические ссылки как ссылки" на вкладке
"Дополнительно" диалогового окна архивирования позволяет сохранять
и восстанавливать символические ссылки и точки соединения NTFS как
ссылки, чтобы их содержимое не архивировалось. Эквивалент этого
параметра в командной строке – ключ -ol.
Похожий параметр для жёстких ссылок NTFS – "Сохранять жёсткие ссылки
как ссылки". Эквивалент в командной строке – ключ -oh.
Оба параметра доступны только для архивного формата RAR 5.0.
11. Добавлена возможность распаковки архивов формата XZ.
12. Изменения в обработке томов для восстановления в архивах RAR 5.0:
а) максимальное число томов RAR+REV в архивах формата RAR 5.0 составляет
65535 (ранее – 255);
б) операции с томами для восстановления выполняются быстрее, чем
в RAR 4.x;
в) помимо данных для восстановления, в REV-файлах RAR 5.0 также хранится
такая служебная информация, как контрольные суммы защищённых
RAR-файлов. Поэтому эти файлы чуть больше по размеру, чем тома RAR,
которые они защищают. Это следует учитывать, если вы собираетесь
копировать отдельные файлы RAR и REV на какой-либо сменный носитель:
указывайте размер тома RAR на несколько килобайт меньше, чем объём
носителя.
13. Максимальная длина пути файлов в архивах RAR и ZIP увеличена до
2048 символов.
14. Версия RAR для командной строки возвращает код 11, если определяет, что
пользователь ввёл неверный пароль. Этот код возвращается только для
архивов RAR 5.0. В архивах RAR 4.x различить неверный пароль
и повреждение данных невозможно.
15. Команды 'v' и 'l' выводят имена содержащихся в архиве файлов в конце
строки, а не в начале, как это было в предыдущих версиях. Кроме того,
некоторые поля, ранее присутствовавшие в выводе команд 'l' и 'v',
теперь отображаются только командами 'lt' и 'vt'.
Команды 'vt' и 'lt' обеспечивают подробную многострочную информацию
о каждом заархивированном файле.
Команды 'vta' и 'lta' также включают в список служебные заголовки.
16. Теперь файлы-списки для команд вроде 'rar a архив @файл_список'
по умолчанию должны иметь кодировку ANSI как для WinRAR, так и для
консольного RAR. В предыдущих версиях кодировка для WinRAR должна
была быть ANSI, а для консольного RAR – OEM. Чтобы переопределить
принимаемую по умолчанию кодировку, используйте ключ -sc<кодировка>l.
17. Встроенное в WinRAR средство просмотра может определять и показывать
файлы в кодировках UTF-8 и UTF-16 little endian.
18. RAR и WinRAR сохраняют файл-протокол rar.log в кодировке
UTF-16 little endian, поэтому в отчёте правильно сохраняются юникодные
имена файлов. WinRAR автоматически отсекает старый файл rar.log в
не-юникодном формате во избежание смешивания различных кодировок
в одном и том же файле-протоколе. При использовании консольного RAR
необходимо удалить старый файл rar.log самостоятельно, иначе
RAR будет добавлять в имеющийся файл rar.log сообщения в кодировке
UTF-16.
С помощью ключа -sc<кодировка>g можно изменять кодировку файла-протокола,
используемую по умолчанию. Например, укажите ключ -scag, чтобы протокол
был в кодировке ANSI.
19. Команда 'r' ("Исправить повреждённый архив") в командной строке может
включать необязательный параметр 'путь_назначения\', задающий
результирующую папку для записи восстановленного архива:
rar r архив.rar путь_назначения\