Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » FreeArc (часть 4)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156

Открыть новую тему     Написать ответ в эту тему

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Часть 1 | Часть 2 | Часть 3


Скачать последний релиз - FreeArc 0.666 от 20 мая 2010 г. Что нового: ускорение работы в 1.5-2 раза благодаря новой технологии многопоточного сжатия, распаковка архивов многих форматов используя технологии 7-zip, запуск файлов из архива, исправлены все проблемы интеграции с Explоrer (подробнее)
Текущая альфа версия: 0.67 - загрузка | список исправлений | блог


Подробное описание используемых алгоритмов
Почему он сжимает лучше и быстрее, чем 7-zip/rar...
Результаты тестов, подтверждающие его крутизну...
Почему для использования 2+ гб памяти желательно установить 64-битную версию Windows
Планы дальнейшего развития
Что подразумевается под "интеграцией с Explorer"
Старая FreeArc wiki (включая описание формата архива)
Логотип и иконки FreeArc - обсуждение того, как облагородить внешний вид программы


Сторонние оболочки для работы с FreeArc:
wArc - простая и понятная программа управления архивами (требует .NET Framework 2.0)
PeaZip - менеджер архивов с поддержкой большого количества форматов, для Windows и Linux


Родственные темы:
Inno Setup плюс внешние упаковщики - использование архивов FreeArc в инсталяторах
ISDone.dll - библиотека распаковки архивов в инсталяторах
REP & SREP
Пережатиe/Pекомпрессия/Oптимизация файлов для лучшего сжатия - "а как сжать ещё лучше?"
FreeArc и Unix - для альтернативно одарённых
• репозиторий FreeArc 'Next на github.com
• тема FreeArc 'Next на форуме encode.su
• раздел FreeArc на форуме krinkels.org

 
Другие архиваторы:
WinRAR
7-zip
PowerArchiver
HaoZip
BandiZip


Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 11:36 23-11-2010 | Исправлено: Release, 10:58 24-04-2023
Bulat_Ziganshin

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
С ним то не распаковывается нифига.

ещё какая-то ошибка. если возвращать пароль через колбек, то работает:
 

Цитата:
C:\>UnarcDllExample.exe x hp12-old-scheme.arc
Password?12
password? 0 0 12
overwrite? 0 0 Arc.exe
filename 0 0 Arc.exe
read 0 0
read 0 0
read 0 0
read 0 0
write 3 0
write 3 0
quit 0 0
FreeArcExtract() was successful
 

 
выделенное жирным - это я с клавиатуры ввёл

Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 12:56 18-09-2011 | Исправлено: Bulat_Ziganshin, 12:56 18-09-2011
Profrager



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
да, с заданием пароля через каллбэк действительно все нормально распаковывает. Значит пасс надо будет не через параметр в FreeArcExtract передавать, а только в каллбэке прописывать передачу.

----------
переехал сюда

Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 13:12 18-09-2011
kalpak

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
у меня все время ошибка когда я запускаю UnarcDllExample.exe x archive.arc
 
а почему арк спрашивает ввод пароля (при открытии) когда исп-ся -dm<crypt_method>  (при упаковке)?
кстати если скомбинировать -dm и -ae то  будет ошибка
 

Цитата:
C:\unarc>arc a -dmaes-256 -p? -ae=aes-256 arc_ *
FreeArc 0.67 (September 10 2011) creating archive: arc_.arc
 
  Enter encryption password:
  Reenter encryption password:
Compressed 5 files, 555,392 => 345,688 bytes. Ratio 62.2%
Compression time: cpu 0.27 secs, real 0.27 secs. Speed 2,091 kB/s
All OK
 
C:\unarc>arc lt arc_.arc
FreeArc 0.67 (September 10 2011) listing archive: arc_.arc
 
  Enter decryption password:
arc: aes-256/ctr:n1000:r0 doesn't include salt
 
C:\unarc>

или это не верное так делать ?

Всего записей: 155 | Зарегистр. 20-07-2007 | Отправлено: 14:51 18-09-2011
Bulat_Ziganshin

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
у меня все время ошибка когда я запускаю UnarcDllExample.exe x archive.arc  

я похож на телепата? пиши какая конкретно ошибка, с логом
 

Цитата:
а почему арк спрашивает ввод пароля (

читай доку. если не читаешь - используй gui для создания архивов

Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 20:00 18-09-2011
kalpak

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulat_Ziganshin
у меня выходит отчет об ошибке (dwwin.exe), ну это не важно
 
а насчет пароля, в том то и дело что я его через GUI и создаю
но так как пароли нельзя вводить пустые то его никак не откроешь и смысла нет так создавать архивы, только если в паре с старой unarc.dll
т.е. я даже не хочу с паролем шифровать каталоги архива а просто , а он его запрашивает при попытке открытия
(упаковка аналогичная через GUI делается также)
 
листинг
....
только что еще раз перепроверил все в GUI
если упаковать допустим так lzma+aes-256, потом открыть файл и перепаковать любым другим методом то также выйдет запрос пароля
вот листинг в консольной версии (а если --recompress не использовать с u/f то не перепаковывается  с переданным методом)
листинг

Всего записей: 155 | Зарегистр. 20-07-2007 | Отправлено: 21:07 18-09-2011
Bulat_Ziganshin

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
а насчет пароля, в том то и дело что я его через GUI и создаю  

ну-ка, ну-ка, покажи мне как ты через gui без использования ручного ввода опций задаёшь эту команду "arc a -mlzma -dmaes archive". ещё раз - если ты неспособен прочесть доку и просто наугад тыкаешь в кнопочки, то при создании архива просто отметь галочку "шифрование". всё остальное программа сделает сама
 

Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 21:42 18-09-2011
kalpak

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а же привел листинг
можно опустить -mlzma это я сделал чтобы сжать данные
а вот -dmlzma можно вводить в поле метода сжатия
 
может это конечно не совсем правильно использовать программу, но это пока возможно
(сжатие совместно с алгоритмом шифрования наверное тоже не совсем правильно)

Всего записей: 155 | Зарегистр. 20-07-2007 | Отправлено: 22:07 18-09-2011
Bulat_Ziganshin

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
да, защиты от дурака в программе нет. я думаю, это не самая важная функция

Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 23:25 18-09-2011
ndch

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Bulat_Ziganshin
Где про метод сжатия xtor почитать ? что это такое ?

Всего записей: 6477 | Зарегистр. 31-08-2008 | Отправлено: 11:58 20-09-2011
kalpak

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ndch
xtor - это 4x4:tor  
xtor/xlzma/xppmd значит это 4x4:method

Всего записей: 155 | Зарегистр. 20-07-2007 | Отправлено: 13:23 20-09-2011
vishyakov

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть ли в природе DLL, обладающая функциональностью arc.exe или близко к тому? Если нет, то будет?

Всего записей: 29 | Зарегистр. 18-03-2009 | Отправлено: 16:10 21-09-2011
kalpak

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vishyakov
для упаковки?
если для упаковки то нет
для распаковки unarc.dll

Всего записей: 155 | Зарегистр. 20-07-2007 | Отправлено: 17:00 21-09-2011
vishyakov

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kalpak
Жаль. Ну ладно, пусть будет хотя бы декомпрессия.  
 
unarc.dll - это которая из пакета InnoSetup support? Она может распаковать любые архивы FA? А как её использвать-то? Документация на неё и API есть?

Всего записей: 29 | Зарегистр. 18-03-2009 | Отправлено: 20:06 21-09-2011
kalpak

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vishyakov
да, она самая
а зачем документация? )) там всего 1 функция (ну еще одна, которую вряд ли кто то будет использовать)
и она та в скрипте примера распаковки объявлена

Всего записей: 155 | Зарегистр. 20-07-2007 | Отправлено: 22:26 21-09-2011
Bulat_Ziganshin

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vishyakov
дело в том, что dll создавалась как часть проекта InnoSetup support и потому никто её специально не документировал. давай сделаем это прямо сейчас - мне для этого нужен как раз такой свежий человек как ты, который бы мог заметить пропуски в описании
 
итак: unarc.dll позволяет распаковывать архивы FreeArc. для этого она предоставляет функцию FreeArcExtract, пример использования которой вы можете найти в http://freearc.org/download/testing/unarc2011-09-18.7z  
 
Синтаксис вызова:
 
errcode = FreeArcExtract(callback, command[1], command[2], command[3], ...);
 
где errcode - код ошибки (FREEARC_OK=0 при успехе, остальные коды можно найти в Common.h)
command[1]... - команда, которую должен выполнить unarc, список должен завершаться NULL или "". синтаксис поддерживаемых команд можно увидеть, вызвав unarc.exe без параметров
callback - ваша функция, которая будет вызываться из FreeArcExtract, может быть NULL
 
Пример вызова:
 
int errcode = FreeArcExtract(callback, "x", "-o+", "--", "a.arc", "*.obj", "*.lib", NULL);
 
С какими параметрами при этом вызывается callback, можно увидеть, откомпилировав и запустив UnarcDllExample.cpp

Всего записей: 3401 | Зарегистр. 13-08-2007 | Отправлено: 22:33 21-09-2011
vishyakov

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо, займусь. Даже мануал напишу :)
 
А пока у меня еще предложение. Предлагаю встроить препроцессор ZRLE, удаляющий последовательности нулей. Конкретно:
 
Алгоритм имеет параметр N.  
Пусть встретилась последовательности нулей длинной k штук. Если k<N, то оставляем её как есть. Иначе заменяем её на k нулей плюс один байт равный k-N.
 
Думаете, RLE бесполезен? А вот и нет.  
Например, моя папка C:\windows сжимается таким образом на 4%, в абсолютном исчислении это составило ~1 Гб.
На этих же данных я провёл испытания, взяв N=5, и скармливая выход freearc'у с опциями от -m1 до -m9.  
Результат: сжатие улучшилось на 0.6-1.0 процентов.  
Мало? Это больше, чем разница между -m8 и -m9. И при этом, как вы понимаете, бесплатно в плане потребляемых ресурсов.
 
А как изменяется время сжатия данных после их предобработки ZRLE? Трудно оценить, что будет в реальных условиях, но в идеальных, когда данные находятся целиком в системном кэше, время уменьшается на те самые 4%.
 
Причем в моём случае ZRLE находился в заведомо невыгодном положении - вероятно он сбивал с толку анализатор и exe-процессор.
 
Что скажете?

Всего записей: 29 | Зарегистр. 18-03-2009 | Отправлено: 22:24 22-09-2011
Profrager



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Пусть встретилась последовательности нулей длинной k штук. Если k<N, то оставляем её как есть. Иначе заменяем её на k нулей плюс один байт равный k-N.

во-первых ты не так описал алгоритм, а во-вторых имхо ты накосячил в своей реализации его) Т.к. lzma (+ rep, входящий в алгоритмы фриарка) гораздо эффективней справятся с любыми последовательностями одинаковых байт, а zrle только добавит лишнюю избыточность. Ты делал анпакер своего ZRLE?

----------
переехал сюда

Всего записей: 888 | Зарегистр. 22-05-2010 | Отправлено: 22:09 23-09-2011
snkreg

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
lzma (+ rep, входящий в алгоритмы фриарка) гораздо эффективней справятся с любыми последовательностями одинаковых байт

Полностью поддерживаю, а когда Булат встроит SREP - мне кажется степень сжатия улучшится в разы.
vishyakov
Опиши детальнее, если есть наработки - выложи. Пока не могу судить и делать выводы, ибо не вижу + по сравнению в имеющимися алко во FA

Всего записей: 586 | Зарегистр. 18-10-2008 | Отправлено: 23:31 23-09-2011
kalpak

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
snkreg
я не думаю что в разы
в различных ММ-файлах или еще где-то может даст хороший выигрыш
иногда помогает, а иногда даже ухудшает ситуацию (хотя больше чем на 10% не должен вырасти размер)
вот вчера я сжимал например папку с 50-60 файлами PDF размером общим в 700МБ (все сформированы из одного отчета разные данные только отображены)
 
precomp+srep+rep+lzma оказался почти такой же как
precomp+rep+lzma
 
единственное не запомнил сколько время ушло

Всего записей: 155 | Зарегистр. 20-07-2007 | Отправлено: 11:01 24-09-2011
snkreg

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kalpak
Слушай, а как думаешь, можно ли сделать тест всех вариантов? Ну прям к примеру сжимаешь 20Гб, ставишь на ночь - он у тебя проходится всеми возможными комбинациями, после каждой проходки архив удаляется, чтобы не засорять хард - потом выдается отчет - время, размер на выходе и выигрыш.
Bulat_Ziganshin
Булат, как ты на это смотришь?

Всего записей: 586 | Зарегистр. 18-10-2008 | Отправлено: 11:10 24-09-2011
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156

Компьютерный форум Ru.Board » Компьютеры » Программы » FreeArc (часть 4)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru