Ru-Board.club
← Вернуться в раздел «Программы»

» WinRAR (часть 2)

Автор: lelik007
Дата сообщения: 02.11.2014 10:35
EugeneRoshal
Я поискал, все что нашел:
1-Консольную утилиту от разработчиков алгоритма. Очень быстрая с очевидностью не поспоришь, но она как бы консольная и не умеет обрабатывать каталоги.
2-HashTab, прекрасное решение, пришлют мне каталог на 50 файлов, буду лазить заглядывать каждому в свойства.
3.checksum от Cor и быстрая и каталоги обрабатывает и вполне удобная, вот только там алгоритм Blake2s - то есть выходной формат с Blake2sp не совместим...

Инструментарий не богатый, а ввиду того что Blake2 имеет 4 разновидности, будет еще то веселье. Кстати вот на картинке BFDA и http://bench.cr.yp.to/results-hash.html тестировали то... Blake2b и Blake2s. Так что вот и понапишут форматов сам в себе, какой хочешь. Зато быстро - не отнять. Но все таки надеюсь что это дело будет развиваться и будет больше программ на выбор с поддержкой Blake2.

Так что я не знаю, вроде и полезная функция а вроде и... Одно понятно CRC32 уже конечно ни куда не годится.

А вот за что вам огромное спасибо, так за вот эту страницу с тестами, оказывается у меня на машине SHA-512 выполняется в разы быстрее чем SHA-256 Никогда бы не задумался.
Автор: regist123
Дата сообщения: 02.11.2014 12:15
lelik007 и @all, может с обсуждением утилит для расчёта хеша в отдельную тему, либо во флейм переедете?
Тут тема с вопросами и обсуждением WinRAR.
Автор: Victor_VG
Дата сообщения: 02.11.2014 13:38
regist123

Согласен. Вопрос конечно интересный, но когда я после института учился на инженерном потоке ВМК МГУ у нас он рассматривался отдельным спецкурсом. Это я к тому какой базовый уровень знаний нужен для его понимания.
Автор: lelik007
Дата сообщения: 02.11.2014 13:45
regist123
Я понял и закругляюсь флудить.
EugeneRoshal
Я просто хотел предложить, ввиду того что у всего семейства BLAKE2 разные значения, четко обозначить в программе что используется BLAKE2sp во избежание путаницы. Просто у вас написано BLAKE2 и в
checksum от Cor (программа с официальной страницы алгоритма) тоже написано BLAKE2 - а выходные суммы разные. Просто на мой взгляд это типа - SHA-2 и понимай потом что человек хотел сказать. Я предложил, а там как сочтете нужным конечно.
Автор: EugeneRoshal
Дата сообщения: 02.11.2014 14:01
lelik007

Цитата:
Я просто хотел предложить, ввиду того что у всего семейства BLAKE2 разные значения, четко обозначить в программе что используется BLAKE2sp во избежание путаницы.

В помощи к опции "Use BLAKE2 file checksum" упоминается, что это BLAKE2sp. Но использовать термин BLAKE2sp вместо BLAKE2 везде - слишком тяжеловесно.
Автор: lelik007
Дата сообщения: 02.11.2014 15:30
EugeneRoshal
Да, красиво смотреться в программе такое название не будет, конечно, ну люди так назвали чтобы смысл отражало, что тут сделаешь будет путаница. Как говорится хозяин он и есть хозяин.
Автор: Victor_VG
Дата сообщения: 03.11.2014 12:47
EugeneRoshal

За Rar 5.20.3 спасибо! Сейчас посмотрю насколько он окажется удобнее в скрипте что ваяет напарник. Он там куёт что хитрое типа гибрида ракеты и подлодки с навыками командос для бэкапа серверов и подачи боссу персональной чашки кофе с коньяком под текущее настроение. Любит он такие задачки решать - отлично, умница.

Что поменялось в Rar 5.20b3?

Eng

Цитата:
Version 5.20 beta 3

1. Bugs fixed:

a) "Extract relative paths" option was ignored and full pathname
was created when extracting a file from ZIP archive to a folder
protected with user account control (UAC);

b) if encrypted archived file was opened in external editor,
modified and saved, previous beta stored this file back to
archive without encryption.

Rus

Цитата:
Версия 5.20 бета 3

1. Исправлены ошибки:

а) при извлечении файла из ZIP-архива в папку, защищённую системой
контроля учётных записей пользователя (UAC), параметр
"Извлекать с относительными путями" игнорировался и создавался
полный путь;

б) если зашифрованный файл в архиве открывался во внешнем редакторе,
изменялся в нём и затем сохранялся, предыдущая бета-версия
помещала этот файл обратно в архив без шифрования.

Автор: Victor_VG
Дата сообщения: 04.11.2014 00:43
Rar 5.20b3 пересобран от 04.11.2014 для всех платформ BSD UNIX, Mac OS X, Linux, Windows - внесены изменения в SDK...
Автор: GORA2
Дата сообщения: 05.11.2014 08:07
EugeneRoshal
Создал WinRAR.ini из интерфейса программы. В файле обнаружил параметр с абсолютным путем:
Код: HKLM\exe64="C:\Program Files\WinRAR\WinRAR.exe"
Автор: EugeneRoshal
Дата сообщения: 05.11.2014 11:54
GORA2

Цитата:
HKLM\exe64="C:\Program Files\WinRAR\WinRAR.exe"

Начиная с 5.20, этот параметр не нужен. 5.20 по-прежнему его создает для совместимости со старыми версиями, но сам им не пользуется. Если использовать только 5.20 и новее, это значение можно игнорировать.

Цитата:
HKCU\Interface\Themes\ShellExtBMP="C:\Program Files\WinRAR\Themes\WinRAR_Smile_d_48x48\RarSmall.bmp"
HKCU\Interface\Themes\ShellExtIcon="C:\Program Files\WinRAR\Themes\WinRAR_Smile_d_48x48\Rar.ico"

Это для shell extension, чтобы после смены темы знать откуда загружать иконку для контекстного меню. Относительный путь тут не годится. Если WinRAR используется в портативном режиме на сменном носителе, значит shell extension у нас не активировано, и эти значения мы можем игнорировать. Если же пользователь решил в стационарной установке WinRAR на локальном жестком диске использовать winrar.ini, то тут нужны абсолютные пути.

Цитата:
уже устарело, ибо сам WinRAR с параметром Global\AppData=0 в WinRAR.ini устанавливает темы "в папке "Themes", вложенной в папку самой программы".

Это описано в разделе справки, относящемся к WinRAR.ini. Не уверен, что будет правильным указывать возможность переопределения %appdata%\WinRAR в остальных разделах. Если пользователь меняет Global\AppData, он все равно уже прочитал справку по WinRAR.ini, и, я думаю, можно не утяжелять остальные разделы отсылками к WinRAR.ini.
Автор: GORA2
Дата сообщения: 05.11.2014 12:11
EugeneRoshal

Цитата:
Начиная с 5.20, этот параметр не нужен. 5.20 по-прежнему его создает для совместимости со старыми версиями, но сам им не пользуется. Если использовать только 5.20 и новее, это значение можно игнорировать.

Уточните, пожалуйста...
Речь идет о параметре в файле WinRAR.ini, но ведь и сам файл появился только в версии 5.20. Так о какой совместимости (этого файла с указанным параметром) речь?
Если WinRAR.ini есть, то и версия значит 5.20 и параметр этот уже не нужен.

Добавлено:

Цитата:
Это описано в разделе справки, относящемся к WinRAR.ini.

Темы там упомянуты только один раз, а про необходимость папки Themes вообще не упомянуто.
Автор: Inoz2000
Дата сообщения: 05.11.2014 12:32

Вот тут я споткнулся

Цитата:
5.20 по-прежнему его создает для совместимости со старыми версиями, но сам им не пользуется.
в старых версиях не было winrar.ini и пусть в нём хоть анекдоты будут.
версии старые - им всё равно.

Цитата:
на сменном носителе, значит shell extension у нас не активировано
это у вас не активно. кто мне запретит использовать контекстное меню для моего же удобства?

ps Пора подумать об отказе от абсолютных путей, если winrar.ini находится в папке с программой на сменном носителе, который на разных компьютерах будет иметь разную букву диска…

Добавлено:
pps Хатя меня это мало волнует. Для себя выбрал единственный вариант применения фичи-winrar.ini

Цитата:
В папке %AppData%\WinRAR находится WinRAR.ini, а всё остальное - в папке с программой.
в нём
Global\AppData=1
Global\Integration=1
Global\SaveSettings=1
Считаю, что настройки должны храниться на компьютере и соответствовать его конфигурации. Если использовать одни настройки для всех, но обязательно возникнет путаница, хоть с путями, хоть с чем угодно…
Автор: EugeneRoshal
Дата сообщения: 05.11.2014 13:04
Inoz2000

Цитата:
в старых версиях не было winrar.ini и пусть в нём хоть анекдоты будут.
версии старые - им всё равно.

В WinRAR одни и те же функции работы с конфигурацией используются и для Registry, и для winrar.ini. То есть, вызывается "установить значение exe64", а куда именно оно будет записано, функции все равно. Конечно, можно добавить проверку: "установить exe64, только если мы используем Registry", но зачем это нужно? Сэкономить одну строку в winrar.ini, который, кроме Global\* в начале, в общем-то не предназначен для чтения человеком?

Цитата:
Цитата:

Цитата: на сменном носителе, значит shell extension у нас не активировано

это у вас не активно. кто мне запретит использовать контекстное меню для моего же удобства?
Автор: stanzdor
Дата сообщения: 05.11.2014 13:15

Цитата:

В WinRAR (как и в ряде других архиваторов) существует возможность создания зашифрованного архива с несколькими паролями. Т.е. каждый файл в архиве может иметь свой собственный пароль для распаковки, что в ряде случаев может быть очень полезно. Подробнее...
http://forum.ru-board.com/topic.cgi?forum=5&topic=22080&start=0&limit=1&m=1#1


актуально ли это? не могу добиться никак: при добавлении файла с другим паролем пишет ошибку контрольной суммы.

на офф. сайте про это ничего не сказано _http://www.win-rar.ru/study/part2/password.php

необходимо:
- положить в архив файлы с разными паролями
- без ввода пароля файлы в архиве не должны быть видны

может это может какой другой архиватор?

Автор: EugeneRoshal
Дата сообщения: 05.11.2014 13:38
stanzdor

Цитата:
актуально ли это? не могу добиться никак: при добавлении файла с другим паролем пишет ошибку контрольной суммы.

Надо отключить solid сжатие и шифрование имен файлов.

Цитата:
необходимо:
- положить в архив файлы с разными паролями
- без ввода пароля файлы в архиве не должны быть видны

Первое требование несовместимо со вторым. Шифровать заголовки файлов с разными паролями или использовать разные пароли для заголовков и данных RAR не умеет.
Автор: Inoz2000
Дата сообщения: 05.11.2014 13:47
происходит запись HKLM\exe64 в ini или в реествр - это разумеется неважно. НО пусть старая версия для себя пишет этот параметр, значение которого по идее должно соответствовать пути к файлу старой версии. Не могут же разные старые и новые файлы находиться в одном месте. В чем назначение этой записи в реестре не совсем понятно.
Старая 32-битная версия сможет узнать, где находится её 64-битная сестра?


Цитата:
В портативной версии на чужом компьютере? В чем тогда смысл портативной версии, если вы собираетесь регистрировать shell extension и оставлять мусор в чужом Registry?
Что за стереотипы? Если портативная версия, то почему обязательно на чужом?
А можно я для удобства работы буду регистрировать shell extension? Если перед завершением работы я уберу все галочки в настройках интеграции, то как много мусора останется?

EugeneRoshal
Как вы себе представляете само использование 'портативной версии на чужом компьютере' в двух словах, пожалуйста?
Я на 5 сек прихожу к соседу/соседке со своим winrar-ом, чтобы пожать ему файлы? …или распаковать? для этого мне RarExt.dll вообще не надо с собой приносить!
Автор: EugeneRoshal
Дата сообщения: 05.11.2014 14:48
Inoz2000

Цитата:
Не могут же разные старые и новые файлы находиться в одном месте.

Не должны, но могут. При установке бывает, что WinRAR.exe обновился, а rarext.dll был заблокирован системой и обновится только после перезагрузки.

Цитата:
Старая 32-битная версия сможет узнать, где находится её 64-битная сестра?

rarext.dll 5.11 использовал это значение, чтобы узнать местоположение winrar.exe.

Цитата:
Что за стереотипы? Если портативная версия, то почему обязательно на чужом?

Если на своем, зачем относительные пути для rarext.dll?

Цитата:
Я на 5 сек прихожу к соседу/соседке со своим winrar-ом, чтобы пожать ему файлы? …или распаковать? для этого мне RarExt.dll вообще не надо с собой приносить!

Правильно. Так для чего тогда относительные пути для rarext.dll?
Автор: Inoz2000
Дата сообщения: 05.11.2014 15:41

Цитата:
rarext.dll 5.11 использовал это значение, чтобы узнать местоположение winrar.exe.

Значит так, у нас уже имеется запись в HKLM. (Её создала старая версия 5.11)
Теперь мы устанавливаем новую версию.
И тут есть два варианта:
Установка в ту же папку - путь в реестре и так уже записан.
Установка в другую папку - новая версия использует старую RarExt.dll до перезагрузки. Вернее, старая dll исользует новый winrar…
Это всё логично и понятно.

Цитата:
Начиная с 5.20, этот параметр не нужен.
а как теперь работает этом механизм?

может быть для rarext.dll можно обойтись вовсе без путей, а достаточно одной записи с названием темы.
Автор: Victor_VG
Дата сообщения: 05.11.2014 15:43
Inoz2000

Кстати я также как и EugeneRoshal абсолютно не вижу никакой логики в том чтобы гость своими настройками заменял мои. Для меня это выглядит мягко скажем также странно, как будто кто-то пришедший ко мне принесёт с собой свой /etc/xorg.conf и заявит - "Мне нравятся такие настройки Х-ов, а значит мой /etc/xorg.conf должен быть и на вашей машине!". Да, Х-ы с его настройками может и запустятся, но нормально работать точно не станут даже если в /etc/xorg.conf стоят прописи для подобной видеоплаты.
Автор: chAlx
Дата сообщения: 05.11.2014 15:43
stanzdor:

Цитата:
- положить в архив файлы с разными паролями
- без ввода пароля файлы в архиве не должны быть видны

Это чтобы трояны рассылать?
Если действительно решается какая-то актуальная задача, то скорее всего у неё есть другое, более адекватное решение.
Автор: EugeneRoshal
Дата сообщения: 05.11.2014 17:06
Inoz2000
А какую проблему мы пытаемся решить? То есть, при желании и exe64 из winrar.ini можно убрать, и имя иконки передавать в rarext.dll в другом виде. Но что от этого выиграет пользователь?
Автор: Victor_VG
Дата сообщения: 05.11.2014 17:31
EugeneRoshal

По моему вопрос носит академический характер - понять приёмы решения задач.
Автор: Inoz2000
Дата сообщения: 05.11.2014 20:40

Цитата:
А какую проблему мы пытаемся решить?

Цитата:

Цитата: Начиная с 5.20, этот параметр не нужен.
а как теперь работает этом механизм?
Автор: BFDA
Дата сообщения: 05.11.2014 21:09

Цитата:
Rar 5.20b3 пересобран от 04.11.2014 для всех платформ BSD UNIX, Mac OS X, Linux, Windows - внесены изменения в SDK


Когда же уже GUI интерфейс для MAC будет?! Эх.....
Автор: Victor_VG
Дата сообщения: 05.11.2014 21:24
BFDA

Для UNIX/Linux GUI не нужен. Там иные механизмы работают. Какой смысл тащить корову на чердак?
Автор: EugeneRoshal
Дата сообщения: 05.11.2014 23:40
Inoz2000

Цитата:
просто спроил, в целях лучшего понимания предмета.

В 5.20 rarext.dll вызывает GetModuleHandleEx с GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS и GetModuleFileName, чтобы определить собственный каталог. Ищет exe в своем каталоге. Если не нашли, ищет в HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe.

Насколько я помню, GetModuleHandleEx появилась только в XP, поэтому раньше этот метод не использовался. Потом, раньше для rarext.dll было принципиально найти каталог WinRAR именно со своей разрядностью, так как 32-битная rarext.dll не смогла бы загрузить 64-битные *.fmt, а сейчас *.fmt прилинкованы к rarext.dll, так что это уже не так критично.
Автор: Inoz2000
Дата сообщения: 06.11.2014 08:43
Выходит зря эта совместимость со старыми версиями, так как при установке новой версии в другую папку древняя rarext.dll будет искать *.fmt, а их там нет
Автор: EugeneRoshal
Дата сообщения: 06.11.2014 09:40
Inoz2000

Цитата:
древняя rarext.dll будет искать *.fmt, а их там нет

Но winrar.exe ведь она тоже ищет с помощью exe64. А *.fmt для старой версии нужны не всегда. Она кэшировала значения сигнатур из *.fmt в registry и дальше могла распознавать ту часть архивных форматов, у которой есть надежные сигнатуры, без участия *.fmt. Если пользователь хочет посмотреть информацию об архиве в свойствах файла, тогда без fmt не обойтись, если распаковать tar, у которого нет надежной сигнатуры, тоже нужно загружать fmt для детального анализа. Если же надо распаковать rar, и его сигнатура уже перенесена в registry, fmt можно не загружать, а путь к winrar.exe нужно знать все равно.

Да, не все старые версии rarext.dll используют exe64. И часть (или все, точно не скажу) старых версий при отсутствии exe64 умеет получать путь к winrar.exe из HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe. Но детально изучать исходники всех старых версий на предмет у кого как это реализовано, удовольствие сомнительное. Проще всем предоставить это значение.

Вообще, в ситуациях, когда старой версии пусть даже с небольшой вероятностью может понадобиться какой-то ключ registry, для меня обычным подходом является не копать глубоко, а просто продолжить предоставлять этот ключ на несколько следующих версий. Через какое-то время его можно и убрать, но спешить с этим смысла нет. Ключ много места не отнимает, а, вот, время, потраченное на анализ - "точно ли не нужно" - можно потратить и с большей пользой.
Автор: BFDA
Дата сообщения: 06.11.2014 10:35

Цитата:
Для UNIX/Linux GUI не нужен. Там иные механизмы работают. Какой смысл тащить корову на чердак?


Да никто и не спорит. Я же про MAC писал, эти яблочники не могут жить без GUI, вот и приходится для них паковать все в ZIP.
Автор: Victor_VG
Дата сообщения: 06.11.2014 12:27
BFDA

Так они не смогли и сейчас прожить без очередного "патента". Ребята обещали при случае текст прислать - смеются что эти гаврики форматы tar.* запатентовать пытаются. Если это правда то я под стол от смеха улечу. Когда я в своё время получал АС на свою разработку эксперт заставил меня провести патентный поиск на глубину аж двухсот лет - "Докажите что это не было известно!", а у них всё решает очередная дурость.

Добавлено:
И по поводу GUI - если он им так нравится, то пусть ставят к примеру Krusader из KDE - он RAR автоматом подхватывает и выполняет для него столь любезную им функцию GUI. Что кроме их извечной лени мешает им выдать make install clean для него и после пользоваться?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160

Предыдущая тема: Прога для поиска картинок в интернете.


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.