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

» WinRAR (часть 2)

Автор: lucky_Luk
Дата сообщения: 13.06.2014 11:35
19w85


Цитата:
Сейчас речь о том, где его практически можно применять.

Я его применяю при домашнем резервном копировании. Настроить в GUI профиль архивации со всеми опциями и именами файлов намного проще, чем в командной строке (если ее не знаешь). И настроить немедленное выполнение профиля при запуске. А потом из любого планировщика запускаем сабж с ключом -cp и именем нужного профиля архивации. И вот тебе в ГУИ все прогрессбары и пр. лабуда, а работает "само".

Добавлено:
EugeneRoshal


Цитата:
-cp ведь в shell extension используется, для этого, собственно, и создавался.

А проще всего его выловить из ярылка для запуска профиля архивации. Я об этом ключе знал задолго до того, как он стал документированным.

Добавлено:
А если не включать немедленное выполнение профиля - вылазит стандартное диалоговое окно, где можно что-то изменить. Но это неудобно, ИМХО.
Автор: ItsJustMe
Дата сообщения: 13.06.2014 17:07
EugeneRoshal
[more=offtopic]I found a few suspicious lines in unrar's source:

filestr.cpp (25): if (FileName!=NULL && *FileName!=0) //why do we test a static array for NULL?

os.hpp (59): #if _MSC_VER<1500
#define for if (0) ; else for
#endif //What the hell is that?


strfn.cpp (286): void itoa(int64 n,char *Str) //can't we just use _i64toa_s/_i64tow_s?

unpack30.cpp (806): memcpy(UnpOldTable,Table,sizeof(UnpOldTable)); //Well, UnpOldTable is larger than Table. Should it be memcpy(UnpOldTable,Table,sizeof(Table));?

volume.cpp (244): CharToWide(NextNameA,NextName,ASIZE(NextName)); //Should it be CharToWide(NextNameA,NextName,NameSize);?

Sorry for disturbing you.


PS: Why don't you use CreateSymbolicLink for symlinks?[/more]
Автор: EugeneRoshal
Дата сообщения: 14.06.2014 12:53
ItsJustMe

Цитата:
filestr.cpp (25): if (FileName!=NULL && *FileName!=0) //why do we test a static array for NULL?

Да, проверка на NULL тут лишняя. Видимо, менял в свое время с параметра функции на массив, а проверку не убрал.

Цитата:
os.hpp (59): #if _MSC_VER<1500
#define for if (0) ; else for
#endif //What the hell is that?

В старых версиях MSVC это требовалось, чтобы область действия переменной, заданной в заголовке цикла 'for' не распространялась за пределы цикла, как и положено в соответствии со стандартом C++.

Цитата:
strfn.cpp (286): void itoa(int64 n,char *Str) //can't we just use _i64toa_s/_i64tow_s?

Они ведь непереносимы за пределы Windows и MSVC. Конечно, можно было задать их через #ifdef, но функция совершенно некритична по времени выполнения, поэтому мне проще использовать общий код для всех платформ.

Цитата:
unpack30.cpp (806): memcpy(UnpOldTable,Table,sizeof(UnpOldTable)); //Well, UnpOldTable is larger than Table. Should it be memcpy(UnpOldTable,Table,sizeof(Table));?

Да, надо привести размер UnpOldTable к размеру Table.

Цитата:
volume.cpp (244): CharToWide(NextNameA,NextName,ASIZE(NextName)); //Should it be CharToWide(NextNameA,NextName,NameSize);?

Вы правы, спасибо за замечания.

Цитата:
PS: Why don't you use CreateSymbolicLink for symlinks?

Там ведь все равно есть создание reparse points, так что я посчитал правильным использовать единообразный код с DeviceIoControl.
Автор: 19w85
Дата сообщения: 15.06.2014 00:53
EugeneRoshal
Так ничего и не ответите?
Я просто не понимаю, в чём проблема сделать исправления, чтобы всё было логично, как я уже писал ранее никаких дополнительных ключей вводить не требуется, т.к. уже есть ключ "a".

И кому вдруг в батнике понадобится эта невероятная и бессмысленная ситуация с вызовом GUI:

Цитата:
Потом, не удивлюсь, если кому-то нужен именно вывод диалога, чтобы что-нибудь оперативно изменить.

...тот просто не будет указывать ключ "a"

В чём собственно проблема с исправлением? Никаких минусов от этого не будет, только плюсы.

Автор: Benchmark
Дата сообщения: 15.06.2014 15:00

Цитата:
В чём собственно проблема с исправлением?

В том, что исправлять нечего. Всё работает так, как было задумано.

При разработке серьезных проектов есть правило: если какой-то функционал потенциально нужен менее чем 5% пользователей, он просто не будет реализован. Подозреваю, что автор получает тысячи писем с личными "хотелками". В разработку попадают наиболее востребованные, да и то не сразу.
Сам понимаешь, всем угодить невозможно, да и не нужно.
Автор: EugeneRoshal
Дата сообщения: 15.06.2014 16:09
19w85

Цитата:
Так ничего и не ответите?

Я прочел ваше предложение, принял к сведению. Нужно ли его реализовывать, я пока не решил.

Цитата:
И кому вдруг в батнике понадобится эта невероятная и бессмысленная ситуация с вызовом GUI

Допустим, пользователь применяет .bat для бэкапов, а стандартная генерация имен архивов по -ag его не устраивает. Запускает он "winrar a -cpbackup backup", а дальше вручную меняет имя архива с backup.rar на backup-monday-set01.rar. Маловероятно - да. Невероятно - не уверен. Пока не определился.

Цитата:
В чём собственно проблема с исправлением?

Как правильно заметили выше, это не исправление, а изменение существующего поведения. Возможно, на более удобное, но формально менее корректное. Флаг немедленного выполнения в профиле отсутствует, но WinRAR это по какой-то причине игнорирует. Не уверен, что такое поведение не может быть воспринято как ошибочное частью пользователей.
Автор: chAlx
Дата сообщения: 15.06.2014 17:42

Цитата:
если какой-то функционал потенциально нужен менее чем 5% пользователей, он просто не будет реализован.

[more=Ерунда.]Полно софта, который состоит из "ненужных" функций чуть менее, чем полностью. Это массовый рынок: если у одного нет какой-то убер-фичи, то все предлагают примерно одно и то же и конкурируют в борьбе за одних и тех же капризных юзеров. Каждому из них, возможно, требуется что-то необычное по мнению других. Но в сумме таких может быть большинство: "длинный хвост" и всё такое.

Другое дело, что разработка не может происходить без хоть какого-то плана. А план составляет разработчик, а не толпа потребителей: что-то в него вписывается, что-то нет. Но составлять этот план без фидбэка -- всё равно что водить машину с закрытыми глазами.[/more]
Автор: Victor_VG
Дата сообщения: 15.06.2014 17:59
chAlx

Вообще-то план работы пишется на основании ТЗ, а вот его порой написать сложно. А в целом согласен.
Автор: pikorembo
Дата сообщения: 15.06.2014 23:11
Benchmark

Цитата:
если какой-то функционал потенциально нужен менее чем 5% пользователей, он просто не будет реализован

Многие пользователи с этого форума годами просят об одном и том же (добавить пункт меню, поддержку UAC...), а воз и ныне там.

После тщательного знакомства с 7-Zip жалею, что не перешел на этот архиватор раньше. Конечно, не хватает некоторых функций, но программа сравнительно молодая и активно развивается. Намедни вышла версия 9.33 alpha, добавилось много интересных возможностей. Даже по интерфейсу 7-Zip выигрывает: отображает не только время модификации, но также время создания/открытия; тестирование быстродействия реализовано намного информативнее, чем в WinRAR.
Автор: Skif_off
Дата сообщения: 16.06.2014 00:12
pikorembo

Цитата:
сравнительно молодая и активно развивается.

Смешно http://www.7-zip.org/history.txt

Цитата:
Даже по интерфейсу 7-Zip выигрывает: отображает не только время модификации, но также время создания/открытия; тестирование быстродействия реализовано намного информативнее, чем в WinRAR.

Вам шашечки? Формат RAR позволяет сохранять инфу для восстановления + мастер восстановления для .rar и (говененько) .zip.

З.Ы. Сам пользуюсь 7-Zip, за темой слежу ибо разработчик в теме - это интересно.
Автор: pikorembo
Дата сообщения: 16.06.2014 00:30
Skif_off

Цитата:
Формат RAR позволяет сохранять инфу для восстановления

Не только эту инфу, как выяснилось, но и байт-код. Малварь, проникающая из RarVM в систему, насколько реально?
Автор: Skif_off
Дата сообщения: 16.06.2014 01:42
pikorembo

Цитата:
Не только эту инфу, как выяснилось, но и байт-код.

Подразумевал возможность для пользователя делать бэкапы с возможностью восстановления, если же пользователь сливает всякую лажу с левых ресурсов - то он сам себе злобный Буратино.

Что-то вроде было в теме про RarVM, не помню, дождемся комментария EugeneRoshal.
Автор: Victor_VG
Дата сообщения: 16.06.2014 01:54
pikorembo

Так и tar, dd, dump/restore при бэкапе раздела делают точную копию ФС со всеми правами доступа, сим-/хардлинками и деревом каталогов, значит если там сидит руткит, то и они уязвимы? В данном случае я не вижу взаимосвязи между фактом наличия зловреда и выводом об уязвимости контейнера....
Автор: lvqcl
Дата сообщения: 16.06.2014 02:01
О, хейтер завёлся...

pikorembo

Цитата:
Не знаю, кто как, а я с сегодняшнего дня перешел на 7-Zip Там хоть код можно самостоятельно поправить, если что.


Если что, код доступен лишь для версии 9.22 beta, вышедшей 3 года назад. Oops.
Автор: Victor_VG
Дата сообщения: 16.06.2014 02:09
lvqcl

Появится следующая бета 7-Zip - появятся и SDK, extended, исходники - Игорь про это не раз говорил. Ну да ладно, тут о Rar речь идёт, а у 7-Zip, FreeArc свои темы есть. Начали за здравие - кончили за упокой. Не дело сиё.
Автор: 19w85
Дата сообщения: 16.06.2014 06:05
EugeneRoshal

Цитата:
Как правильно заметили выше, это не исправление, а изменение существующего поведения.
Выше человек заметил неправильно, потому что явно не вник о чем речь (скорее всего бегло пробежался по постам "хватая по верхам")


Цитата:
Возможно, на более удобное, но формально менее корректное. Флаг немедленного выполнения в профиле отсутствует, но WinRAR это по какой-то причине игнорирует.

Причина не "какая-то", а совершенно определенная - наличие ключа "a", ведь в CLI он основной и идет самым первым параметром, потому его игнорирование совершенно нелогично.


Цитата:
Допустим, пользователь применяет .bat для бэкапов, а стандартная генерация имен архивов по -ag его не устраивает. Запускает он "winrar a -cpbackup backup", а дальше вручную меняет имя архива с backup.rar на backup-monday-set01.rar. Маловероятно - да. Невероятно - не уверен. Пока не определился.

Хм...и что этому может помешать???
Я наверное уже раз 10 выше написал, что сейчас:
"winrar -cpbackup backup" и "winrar a -cpbackup backup" отрабатывают абсолютно одинаково, т.к. ключ a игнорируется, соответственно если это исправить, то ничего не помешает и той маловероятной ситуации, которую Вы описали выше, т.е. использовать для неё:
"winrar -cpbackup backup" (чтобы появлялось GUI для ручных изменений)
А вот, чтобы был тихий запуск (как и должно быть с ключом a) уже применять:
"winrar a -cpbackup backup"

Сейчас нет никакого выбора, а если исправить, то будет выбор (из командной строки), т.к. как я и писал выше, от доработки будут только плюсы и никаких минусов.
Автор: pikorembo
Дата сообщения: 16.06.2014 09:30
Victor_VG

Цитата:
если там сидит руткит, то и они уязвимы?

RAR-архивы выкачиваются из Интернета. Если есть уязвимость в RarVM, значит есть возможность подцепить заразу просто распаковав архив или нажав кнопочку "Тест". Неожиданно?

19w85

Цитата:
Я наверное уже раз 10 выше написал

Сколько еще сообщений потребуется, чтобы вы осознали, что просить о чем-то бесполезно?
Автор: EugeneRoshal
Дата сообщения: 16.06.2014 09:35

Цитата:
"winrar -cpbackup backup" (чтобы появлялось GUI для ручных изменений)

Хоть это и работает, это нарушение общих правил синтаксиса командной строки RAR. Не хотелось бы это документировать. А ключ -y в этом качестве вас не устроит? Запросы на перезапись и вывод ошибок в GUI вам нужны?

Добавлено:
pikorembo

Цитата:
Многие пользователи с этого форума годами просят об одном и том же

Распаковку bzip2, lzma и ppmd zip, также как и Android версию, тоже просили годами. Ресурс разработчика ограничен, а просьбы пользователей "с форума" для меня равноценны просьбам "не с форума".

Цитата:
Если есть уязвимость в RarVM

Если.

Skif_off

Цитата:
Что-то вроде было в теме про RarVM, не помню, дождемся комментария EugeneRoshal.

До сих пор ни о каких проблемах с безопасностью в RarVM мне известно не было, а ей уже 12 лет. В формате RAR5 я ее убрал, но не по причине недостаточной безопасности, а из-за невостребованности.
Автор: Turisto
Дата сообщения: 16.06.2014 10:25
pikorembo

Цитата:
есть возможность подцепить заразу просто распаковав архив или нажав кнопочку "Тест". Неожиданно?

Ох, нифига себе! Это че ж, даже запускать ничего не надо? Просто Readme.txt открыл из архива и приехали?

EugeneRoshal

Цитата:
В формате RAR5 я ее убрал

WinRAR последних версий поддерживает распаковку RAR4, значит тоже подвержен заразе?
Автор: pikorembo
Дата сообщения: 16.06.2014 11:00
EugeneRoshal

Т.е. вы можете поручиться за то, что уязвимостей в RarVM нет, и они никем не найдены?

Цитата:
Ресурс разработчика ограничен, а просьбы пользователей "с форума" для меня равноценны просьбам "не с форума".

Не знаю, как реализуются просьбы пользователей "за пределами форума", а здесь мы видим ответы по трем разным вопросам, совершенно не связанные с ограниченностью ресурса разработчика:

Цитата:
Ее муторно реализовывать.

Цитата:
Вопрос не в технической сложности реализации, а в необходимости такого пункта меню.

Цитата:
Вопрос в том, является ли это востребованной задачей.

Автор: EugeneRoshal
Дата сообщения: 16.06.2014 11:20
Turisto

Цитата:
значит тоже подвержен заразе?

Какой заразе?

pikorembo

Цитата:
Т.е. вы можете поручиться за то, что уязвимостей в RarVM нет, и они никем не найдены?

Мне неизвестны уязвимости в RarVM. Про них заговорили вы, на вас и бремя доказательства их наличия. Исходный код RarVM полностью доступен.

Цитата:
совершенно не связанные с ограниченностью ресурса разработчика


Цитата:
Вопрос в том, является ли это востребованной задачей.

Мне представлялось очевидным, что ограниченный ресурс подразумевает расстановку приоритетов разрабатываемых функций в зависимости от востребованности. Кроме того, даже в теоретических условиях неограниченного ресурса на разработку, задача разработчика - фильтровать предложения пользователей. Предложения бывают хорошие и полезные многим, бывают странные или нужные одному человеку. Функции, которые нужны единицам, ухудшают качество массового продукта: увеличивают объем кода, усложняют интерфейс и документацию, повышают вероятность ошибок. Так что приоритеты и фильтрация, без этого никуда. Тем более, что мы не в идеальном мире с неограниченным ресурсом.

В этой области нет монополии, если пользователя не устраивает направление развития одного архиватора, всегда можно найти другой.
Автор: pikorembo
Дата сообщения: 16.06.2014 11:50
EugeneRoshal

Цитата:
Мне неизвестны уязвимости в RarVM.

RarVM позволяет адресовать участки памяти, которые находятся в адресном пространстве WinRAR, а значит это может быть использовано для записи вредоносного кода и его выполнения с правами текущего пользователя, не так ли?


Цитата:
Так что приоритеты и фильтрация, без этого никуда.

Интересно, по каким принципам вы фильтруете просьбы огромного количества людей, которые просят вас о реализации поддержки UAC с 1 ноября 2006 года (дата выхода Windows Vista)?
Автор: EugeneRoshal
Дата сообщения: 16.06.2014 12:09
pikorembo

Цитата:
RarVM позволяет адресовать участки памяти, которые находятся в адресном пространстве WinRAR

Не участки, а специально выделенный участок. Размером 256 КБ, в области данных, а не кода. И что с того? Обычный алгоритм сжатия тоже позволяет адресовать участки памяти в области данных.

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

Не так.

Цитата:
по каким принципам вы фильтруете просьбы огромного количества людей, которые просят вас о реализации поддержки UAC

По количеству просьб прочих функций. Напоминаю, что этот форум это лишь малая часть обратной связи пользователей. По тенденциям в компьютерном мире. Когда пользователи массово уходят на мобильные платформы, заниматься полировкой Windows версии, напрочь игнорируя Android, не самая лучшая стратегия.
Автор: lvqcl
Дата сообщения: 16.06.2014 12:20
Victor_VG

Цитата:
Ну да ладно, тут о Rar речь идёт, а у 7-Zip, FreeArc свои темы есть.


Я это к тому, что спорить с троллем - малопродуктивно.
Автор: pikorembo
Дата сообщения: 16.06.2014 12:22
EugeneRoshal

Цитата:
Не так.

На странице инструментария для работы с RarVM утверждается, что в RarVM есть ошибки: "There are several known bugs in the RarVM". Причем автор инструментария даже побоялся их оглашать, потому что знает о проблемах безопасности: "redacted as some have security consequences". Какие можно сделать из этого выводы?
Автор: EugeneRoshal
Дата сообщения: 16.06.2014 12:45
pikorembo

Цитата:
Какие можно сделать из этого выводы?

Что мы имеем дело с образцом FUD (fear, uncertainty and doubt)? "Я нашел ошибки, но никому не скажу, даже разработчикам".

Впрочем, начиная с 5.00 код RarVM не используется даже для распаковки RAR 4.x архивов. Так как добавление новых фильтров в RAR4 не планируется, для уменьшения размера кода я убрал программируемую часть RarVM из распаковщика и ограничился существующими жестко заданными фильтрами, которые исполняются не на VM. Желающие могут обратить внимание на #define NORARVM в rarvm.hpp в исходниках unrar, начиная с апреля 2013.
Автор: 19w85
Дата сообщения: 16.06.2014 12:57
EugeneRoshal

Цитата:
А ключ -y в этом качестве вас не устроит?

Конечно, ключ a был бы идеальным вариантом, но и ключ -y в принципе устроит


Цитата:
Запросы на перезапись и вывод ошибок в GUI вам нужны?

Нет, конечно, не нужны (уверен, я, как и большинство, использую CLI для автоматизации и тихой обработки и, соответственно, не нужны никакие выводы, тем более останавливающие обработку запросами)
Автор: EugeneRoshal
Дата сообщения: 16.06.2014 13:04
19w85

Цитата:
ключ -y в принципе устроит

Хорошо. Такое использование -y тут в общем-то логично.
Автор: Victor_VG
Дата сообщения: 16.06.2014 13:32
lvqcl

Цитата:
Я это к тому, что спорить с троллем - малопродуктивно.

Согласен.
Автор: EugeneRoshal
Дата сообщения: 16.06.2014 13:36
19w85
Обновлять английский релиз после выхода нежелательно, но включить новую сборку в новую локализацию допустимо. Я сейчас выложил на rarlab.com только что полученный турецкий перевод 5.10. Можете оттуда достать winrar.exe, он должен обрабатывать -y вместе с -cp. В 5.11/5.20 добавлю для всех.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160

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


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