Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разное тестирование > Лучший упаковщик


Автор: Addmin 22.4.2006, 11:56
Вступление

К написанию этой статьи меня побудила та рьяность, с которой аборигены Vingrad поддерживают титул "Лучшего упаковщика" за UPX и наперебой советуют его во всех топиках, посвящённых сжатию программ, хотя упаковщиков существует достаточное множество. Первенство UPX мало чем подкреплено: иинтерфейс командной строки, не великая степень сжатия, лёгкая распаковка. Однако судить на словах мы не будем, а проведём небольшой тест. 

Суть теста
Мы возьмём подопытную программку, сожмём её с помощью разных упаковщиков и посмотрим, как говорится, who is who in packers? Кто лучше всего сжимает приложения?

Подопытная программка
В лице подопытной программки выступит моя программа http://www.x-prog.jino-net.ru/calcubl.zip (что-то типа блокнотика для заметок, сидящего в трее, однако достаточно удобно), начальный размер которой 1 610 752 байта в незапакованном виде. Никаких преобразований и оптимизаций (вырезание релоков, прочего) не производилось.

Конкурсанты
Итак, на звание "The Best Packer for Windows" претендуют:

ASPack 2.12  - детище смекалки известнейшего русского программиста Алексея Солодовникова. Считается коммерческим стандартом сжатия. http://www.aspack.com
Имеется распаковщик к нему.

MEW 1.1 SE - достаточно популярный бесплатный упаковщик от некоего Northfox[email protected]
Имеется распаковщик к нему.

FSG 1.25 - мини-упаковщик, конкурирующий с UPX. Умеет вырезать оверлеи, релоки, delphi'йскую информацию.
Имеется распаковщик к нему

UPX 1.93 - это, пожалуй, самый известный упаковщик. Имеет консольный интерфейс. О том, что он умеет делать, разработчики умалчивают, однако сделано много графических оболочек к нему. http://www.upx.sourceforge.net
Сам является распаковщиком  smile 

PECompact v2.76 b - очень популярный упаковщик, конкурент ASPack. Имеет множество настраиваемых параметров http://www.bitsum.com
Имеется распаковщик

WinUPack - очень мощный и бесплатный упаковщик. Использует LZMA метод сжатия, умеет вырезать релоки и прочее. 
Распаковщика не имеется.

Все упаковщики были Full-версиями  smile  и настроены на максимальное сжатие.

Тест
Итак, начальный размер программы был 1 610 752 байта. Результаты после сжатия:

ASPack - 614 912 байт.
MEW - 583 447 байт
FSG - 723 789 байт
UPX - 623 616 байт
PECompact - 579 584
WinUPack - 570 456

Чтоже, как мы видим, на первом месте стоит WinUPack, за ним PECompact, а UPX - на предпоследнем. С большим отставанием и на последнем месте FSG. А разница между WinUPack и UPX составляет 53 Кбайта!

Все комментарии, отзывы, а также сведения о новых упаковщиках и тех, которые не были упомянуты в этом тесте, просьба оставлять здесь или писать мне на e-mail. Результаты теста будут корректироваться и обновляться. Спасибо за внимание! 

P.S. Если кого заинтересует, то упаковщики я могу прислать по e-mail. 







 

Автор: rsm 22.4.2006, 20:38
Что-то малость не понял - а где оригинальный несжатый файл? По ссылке качается уже сжатый. 

Автор: Snowy 22.4.2006, 23:10
Цитата(Addmin @  22.4.2006,  11:56 Найти цитируемый пост)
что-то типа блокнотика для заметок, сидящего в трее, однако достаточно удобно), начальный размер которой 1 610 752 байта в незапакованном виде.
Нифига себе "блокнотик для трея".  smile 

Цитата(Addmin @  22.4.2006,  11:56 Найти цитируемый пост)
UPX 1.93
Текущая версия 1.95

Цитата(Addmin @  22.4.2006,  11:56 Найти цитируемый пост)
FSG 1.25
Ты где такую древность наковырял??? Уже год существует вторая версия.

Согласен. На таких монстрах, как "блокнотик..." и подобных динозаврах, пальма за LZMA.
Вот только я таких бегемотов не делаю.
У меня программы по большей части до 100 кб.
Поэтому у меня свои исследования.
На программах до 24кб бесспорный лидер FSG, Именно для этого он и предназначен: 1-100 кб.
от 24 до 100 кб разница между упаковщиками незначительная.
Согласен. WinUpack жмет сильнее, чем upx. Правда зачастую это "сильнее" не превышает 1-2%
Вот только мне так и не удалось упросить винупак, чтобы он не сжимал ресурсы. А upx без проблем.

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

Автор: Addmin 23.4.2006, 05:31
Цитата(rsm @  22.4.2006,  20:38 Найти цитируемый пост)
Что-то малость не понял - а где оригинальный несжатый файл? По ссылке качается уже сжатый.  


Хорошо, сейчас выложу оригинальный, будем под ссылкой
http://www.x-prog.jino-net.ru/calcubl.rar

Цитата(Snowy @  22.4.2006,  23:10 Найти цитируемый пост)
Нифига себе "блокнотик для трея".  smile 

Да ладно - красиво и никто не жаловался. "Ест" меньше 900 Кбайт.

Цитата(Snowy @  22.4.2006,  23:10 Найти цитируемый пост)
Ты где такую древность наковырял??? Уже год существует вторая версия.

Тьфу, прошу извинить - в fsg то нигде номер версии не посмотришь, потому и ошибся. По настоящему - 2.0



Цитата(Snowy @  22.4.2006,  23:10 Найти цитируемый пост)
Согласен. На таких монстрах, как "блокнотик..." и подобных динозаврах, пальма за LZMA.

Я по большей части на shareware-программах специализируюсь, в них, разумеется, нужно покрасивше сделать, а скорость уходит на второй план. Картинки, формы - вот и получаются такие "монстры". 

Цитата(Snowy @  22.4.2006,  23:10 Найти цитируемый пост)
Поэтому у меня свои исследования.
На программах до 24кб бесспорный лидер FSG, Именно для этого он и предназначен: 1-100 кб.
от 24 до 100 кб разница между упаковщиками незначительная.
Согласен. WinUpack жмет сильнее, чем upx. Правда зачастую это "сильнее" не превышает 1-2%
Вот только мне так и не удалось упросить винупак, чтобы он не сжимал ресурсы. А upx без проблем.

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


Я согласен с тобой - просто я хотел показать, что UPX - не единственный.

Вообще для каждого проекта нужно перепробовать все упаковщики - этот например, подходил тебе в прошлом проекте, но прошлый проект был совершенно другим, а значит, что необязательно,  что прошлый упаковщик будет лучшим.
  

Автор: rsm 23.4.2006, 13:30
Как я и предполагал, мой любимый пакер http://www.nsdsn.com/english/nspack.rar на максимальном сжатии обогнал WinUPack smile
CalcUBL: 1'610'752 -> 568'504 

Автор: Snowy 23.4.2006, 15:38
Цитата(rsm @  23.4.2006,  13:30 Найти цитируемый пост)
мой любимый пакер NsPack 2.3 на максимальном сжатии обогнал WinUPack
Ндя... Мою программку в 80 кило ужал не лучше UPX'a.
Только пожатая UPX'ом она работает. А вот после nspack'a вообще не запускается.
Кстати, все паковщики пожали ее до 43-44кб. Это не сжимая ресурсов.
Винупак пожал в 39кило - запретить жать ресурсы ему не удалось.
Так что ничего нового для себя не открыл - fsg и UPX мой выбор.
P.S. Попробовал пожать nspack'ом с дефолтными настройками. Заработало.
Но мне не нужно жать ресурсы! А при отключении сжатия ресурсов сразу перестает запускаться.
 

Автор: Addmin 23.4.2006, 15:52
Цитата(rsm @  23.4.2006,  13:30 Найти цитируемый пост)
Как я и предполагал, мой любимый пакер NsPack 2.3 на максимальном сжатии обогнал WinUPack smile
CalcUBL: 1'610'752 -> 568'504 


А 2 кило не считается  smile 
К тому же весит 1 мегабайт и стоит по 30 бакинских штучка smile




Цитата(Snowy @  23.4.2006,  15:38 Найти цитируемый пост)
Ндя... Мою программку в 80 кило ужал не лучше UPX'a.
Только пожатая UPX'ом она работает. А вот после nspack'a вообще не запускается.
Кстати, все паковщики пожали ее до 43-44кб. Это не сжимая ресурсов.
Винупак пожал в 39кило - запретить жать ресурсы еhttp://forum.vingrad.ru/html/emoticons/smile.gif
му не удалось.
Так что ничего нового для себя не открыл - fsg и UPX мой выбор.
 
Snowy - может, WinRar? smile

Да ладно, давайте согласимся - rsm будет пользоваться NSPack, Snowy - UPX'ом, я - WinUPack.  И никакие, даже самые дотошные тесты не убедят нас в другом. Зато тему оживили smile

P.S. А вообще, давайте хотя бы из патриотизма - ASPack - лучше всех  smile 

P.P.S. Есть сайт www.bgsopt.com -  там крякер (!) Bad_Guy занялся созданием протекторов для программ и прочих защищающих штучек (а он в этом понимает). Создал протектор+упаковщик Software Compress - так что может составить конкуренцию ASProtect.  И, по-моему, совсем неплохую...

 
 

Автор: S.A.P. 24.4.2006, 07:02
Меня поразила скорость загрузки программ, обработанных WinUPack ом... она чрезвычайно мала, причем меньше в несколько раз по сравнению с оригиналом. Для сравнения: после UPXа программа грузится даже быстрее оригинала. 

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

Автор: Addmin 24.4.2006, 09:17
Да, S.A.P., вот тут ты прав - действительно упустил. Просто никогда этого не замечал, хотя это тоже важный критерий. Только вот измерить сложновато  smile  

Автор: Heremum 24.4.2006, 10:07
Addmin
Сразу хочется спросить: а какого фига?
Тест на одной программе - не тест. Запакуй 20 различных по направлению программ: от Doom 3 до IDA, и дай результаты, а там и рассудим. 

Автор: S.A.P. 24.4.2006, 13:12
Цитата(Addmin @  24.4.2006,  09:17 Найти цитируемый пост)
Да, S.A.P., вот тут ты прав - действительно упустил. Просто никогда этого не замечал, хотя это тоже важный критерий. Только вот измерить сложновато

на 7-ми мегабайтной проге это уже на глаз хорошо видно  smile . Сразу возникает ощущение, что прога написана на Java, а не на C++  smile .

Добавлено @ 13:14 
Цитата(Heremum @  24.4.2006,  10:07 Найти цитируемый пост)
Тест на одной программе - не тест. Запакуй 20 различных по направлению программ: от Doom 3 до IDA, и дай результаты, а там и рассудим. 

проверил на нескольких программах - результаты примерно пропорциональны. 

Автор: Addmin 24.4.2006, 14:09
Цитата(Heremum @  24.4.2006,  10:07 Найти цитируемый пост)
Addmin
Сразу хочется спросить: а какого фига?
Тест на одной программе - не тест. Запакуй 20 различных по направлению программ: от Doom 3 до IDA, и дай результаты, а там и рассудим. 


2_Heremum: как ты себе представляешь запакованный Doom III? К тому же, насколько я понимаю (не играл), сам doom.exe имеет небольшие размеры, так как подгружает библиотеки и движок. Вообще, запаковывать что-либо, больше 10-20 Мб не имеет смысла, так как уже сказал S.A.P. - это хорошо видно.


Цитата(S.A.P. @  24.4.2006,  13:12 Найти цитируемый пост)
проверил на нескольких программах - результаты примерно пропорциональны.  

Спасибо, S.A.P., помог, а то сложно было найти подходящую программу  smile  

Автор: Snowy 28.4.2006, 16:31
Зарелизило UPX до версии 2.0

Добавлено @ 16:32 
http://upx.sourceforge.net/ 

Автор: Ch0bits 29.4.2006, 19:08
UPX рулит однозначно и не надо нам всяких shareware бяк! 

Автор: Addmin 29.4.2006, 19:50
Цитата(Snowy @  28.4.2006,  16:31 Найти цитируемый пост)
Зарелизило UPX до версии 2.0

Ну что, на 2 Кб лучше жмёт smile

Цитата(Ch0bits @  29.4.2006,  19:08 Найти цитируемый пост)
UPX рулит однозначно и не надо нам всяких shareware бяк! 

Ещё один недостаток UPX - его легче всех распаковать. Даже не надо ничего вскрывать в debugger'е, дампить - декомпрессировал - и голова крякера не болит. Здесь мы это не обсуждали, хотя для меня этот критерий тоже очень важен. 

Однако нашёл две программу, могущие это исправить:

1. http://www.bgsopt.com от русского крякера Bad_Guy (shareware 200 р.) - очень надёжно, смысл в том, что скрывает от анализаторов на подобие PEiD и eXescope   информацию об упаковщике и ОЕР, надёжно её шифруя. То есть запаковал MEW или ASPack, а анализатор ничего не показывает.

2. http://bash.hotbox.ru/ - одна из многочисленных оболочек для UPX, имеет возможность ставить запрет на декомпрессию программ, запакованных UPX. Бесплатна. 

Автор: Ch0bits 29.4.2006, 21:20
Ещё один плюс UPX - это его кроссплатформенность и поддержка всех форматов исполняемых файлов. 

Автор: Addmin 1.5.2006, 12:36
Ух, искал недавно tElock, нашёл сайт, как специально сделанный для этой темы: http://www.compression.ru

Посвящён полность упаковке, упаковщикам и архиваторам. Ребята провели множество тестов (не чета нашим, разумеется, там люди посерьёзнее  smile  ) от картинок и текстов до Mac'овских файлов. Правда, давно это было, года с 2003, кажется, не обновлялся. Однако посмотреть стоит.

P.S. Правда, tElock я так и не скачал smile

Добавлено @ 12:38 
Странно, со ссылки Винграда сайт не запускается, но стоит ввести адрес вручную - работает...  

Автор: Wowa 7.5.2006, 00:14
букву r пропускать не надо в адресе было :-D 

Автор: Addmin 7.5.2006, 05:05
И точно...  smile  

Автор: Wing 9.5.2006, 15:07
Цитата(Addmin @  24.4.2006,  14:09 Найти цитируемый пост)
как ты себе представляешь запакованный Doom III?

А чего? Я Half-Life 2 запаковывал на 7-Zip smile - в два раза. 

Автор: SergeCpp 4.7.2006, 10:15
Крис Касперски

http://www.citforum.ru/book/cook/exepack.shtml 

Автор: Wallacenum 29.9.2020, 19:44
Цитата(Addmin @ 24.4.2006,  14:09)
ПРИВЕТИК! 
 
Самый топовый клуб 2020 года в рейтинге! 
 
200 фриспинов за регистрацию + 200% боусов до 100К рублей + 1 бесплатная ставка за регу! 
 
КАЗИНО РАБОТАЕТ НА ВСЕХ МИРОВЫХ ЯЗЫКАХ ru, en, de, fi, in, no, au 
 
казино РёРєСЃ официальный сайт new mn http://bit.ly/www-casino-x-com

ПРИВЕТИК! 
 
Самый топовый клуб 2020 года в рейтинге! 
 
200 фриспинов за регистрацию + 200% боусов до 100К рублей + 1 бесплатная ставка за регу! 
 
КАЗИНО РАБОТАЕТ НА ВСЕХ МИРОВЫХ ЯЗЫКАХ ru, en, de, fi, in, no, au 
 
казино РёРєСЃ официальный сайт new mn http://bit.ly/www-casino-x-com

Добавлено через 25 секунд
Цитата(Addmin @ 1.5.2006,  12:36)
ПРИВЕТИК! 
 
Самый топовый клуб 2020 года в рейтинге! 
 
200 фриспинов за регистрацию + 200% боусов до 100К рублей + 1 бесплатная ставка за регу! 
 
КАЗИНО РАБОТАЕТ НА ВСЕХ МИРОВЫХ ЯЗЫКАХ ru, en, de, fi, in, no, au 
 
казино РёРєСЃ играть РІ азартные РёРіСЂС‹ РЅР° деньги http://bit.ly/casino-x-zerkalo

ПРИВЕТИК! 
 
Самый топовый клуб 2020 года в рейтинге! 
 
200 фриспинов за регистрацию + 200% боусов до 100К рублей + 1 бесплатная ставка за регу! 
 
КАЗИНО РАБОТАЕТ НА ВСЕХ МИРОВЫХ ЯЗЫКАХ ru, en, de, fi, in, no, au 
 
казино РёРєСЃ играть РІ азартные РёРіСЂС‹ РЅР° деньги http://bit.ly/casino-x-zerkalo

Добавлено через 50 секунд
Цитата(S.A.P. @ 24.4.2006,  13:12)
ПРИВЕТИК! 
 
Самый топовый клуб 2020 года в рейтинге! 
 
200 фриспинов за регистрацию + 200% боусов до 100К рублей + 1 бесплатная ставка за регу! 
 
КАЗИНО РАБОТАЕТ НА ВСЕХ МИРОВЫХ ЯЗЫКАХ ru, en, de, fi, in, no, au 
 
casino x com зеркало 25 https://cutt.ly/casino-x-zerkalo

ПРИВЕТИК! 
 
Самый топовый клуб 2020 года в рейтинге! 
 
200 фриспинов за регистрацию + 200% боусов до 100К рублей + 1 бесплатная ставка за регу! 
 
КАЗИНО РАБОТАЕТ НА ВСЕХ МИРОВЫХ ЯЗЫКАХ ru, en, de, fi, in, no, au 
 
casino x com зеркало 25 https://cutt.ly/casino-x-zerkalo

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)