Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2009.11.15;
Скачать: [xml.tar.bz2];

Вниз

Упаковка (сжатие) исполняемых файлов - за и против   Найти похожие ветки 

 
TIF ©   (2009-09-05 19:53) [0]

Интересует всё по сабжу: плюсы, минусы, хвалебные речи, критика и т.д. Чем больше, тем лучше. В целях самообразования :)

В частности, хорошо бы всё то же самое, но в рамках UPX (http://upx.sourceforge.net)

PS
на данный момент знаю следующие ситуации, когда паковка принесёт вред:
* Сжатие DLL - недопустимо
* Сжатие больших exe - бессмысленно
* Использование упакованных exe на слабых ПК - бесполезная трата времени
* Идентификация упакованных exe как опасных троянов некоторыми антивирусами

Плюсы перечислены в вики:
http://ru.wikipedia.org/wiki/UPX
* Упаковка исполняемого файла позволяет уменьшить занимаемое программным обеспечением место (что может быть критично в случае передачи через сети или выпуске ПО на носителе ограниченной ёмкости).
* Поэтому нельзя не оценить эффект, возникающий при системном применении упаковщиков исполняемых файлов, таких, как UPX. Вычислительная система затрачивает на порядок меньше времени на считывание и распаковку сжатого файла в оперативной памяти, нежели на простое считывание этого же, неупакованного файла (при считывании с внешнего накопителя время, затрачиваемое на операцию исчисляется милисекундами, время, затрачиваемое на обработку данных в оперативной памяти исчисляется микро и нано секундами).

Плюсы ли это? Минусы ли это? Нужно ли растреливать всякого, кто пакует своё творение? :)


 
TUser ©   (2009-09-05 19:56) [1]


> Нужно ли растреливать всякого, кто пакует своё творение?

Не надо, эти слишком мягкое наказание ))

Собственно, упаковщики приводят к расходу оперативы, что плохо, а мегабайты на диске и в траффике никому сегодня не вредят.


 
DrPass ©   (2009-09-05 20:00) [2]


> TIF ©   (05.09.09 19:53)  

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


 
Игорь Шевченко ©   (2009-09-05 20:02) [3]

расстреливать нужно всех, а флудеров - дважды


 
Кто б сомневался ©   (2009-09-05 20:09) [4]

Вобще паковать надо, если проект небольшой - какая то утилита, типа тотал коммандера (раньше он паковался до 2009 года UPX). Нужно это для того чтобы быстрее скачать, у некоторых до сих пор слабый инет - модем, да и в целом это хороший показатель для пользователя - мол программа небольшая (по функционлу) а размер раздутый, тут что то не то, может кодеры писали не отпимизированный код ну вобщем в этом плане - еще года 4 назад опрашивали юзеров на каком то форуме, они так отвечали примерно - пруфлинк не могу найти - ветку наверное удалили.
Есть одно НО. Некоторые антивирусы, у которых плохая поддержка пакеров, - а таких сейчас много (ввсе хотят сделать свой антивирус пофиг что базы обновляются фэйком.. :) )  часто видят трояна\вирус в упакованных файлах. Вот только это одно но. Даже в UPX - только поэтому автор тотала не стал паковать программу свою..


 
Кто б сомневался ©   (2009-09-05 20:11) [5]


>  Использование упакованных exe на слабых ПК - бесполезная
> трата времени


Слабый ПК это в данном случае четверка (486), т.к. UPX очень быстро распаковывает.


 
boriskb ©   (2009-09-05 20:11) [6]


> Игорь Шевченко ©   (05.09.09 20:02) [3]
> расстреливать нужно всех, а флудеров - дважды


А второй раз когда? :))


 
DVM ©   (2009-09-05 20:17) [7]


> * Использование упакованных exe на слабых ПК - бесполезная
> трата времени

Это на 286 что ли? Даже на 486 разницу уже не увидишь (увидят только маньяки). Так что не аргумент.


 
Кто б сомневался ©   (2009-09-05 20:20) [8]

Кстати лучше всего поддержка пакеров у Касперски (Gold Packers Support). http://www.anti-malware.ru/node/142


 
TIF ©   (2009-09-05 20:21) [9]

> Ты в общем-то уже все сам написал.

Не верю :) Разве что в общих словах... И неужели в википедии написали что-то достоверное? )
В области принципов работы всяких упаковщиков с ОЗУ я полный чайник.

Ну вот как работает UPX с памятью и свопом - это откровенная порнография, или ещё более-менее, лёгкая эротика?

UPX-komprimierte Programmdateien haben zudem größere Auswirkungen auf die Systemresourcen. Das Betriebssystem kann kein dekomprimiertes Abbild direkt vom Datenträger lesen (siehe Virtuelle Speicherverwaltung), wie es das im Falle von unkomprimierten ausführbaren Dateien macht. Stattdessen reserviert der UPX-Dekompressor einen Speicherbereich für die entpackten Daten, der zugeordnet wird, solange die Programmdatei geladen bleibt – ob sie verwendet wird oder nicht. Dies verhindert auch das Wiederverwenden der Ressourcen, wenn mehrere Instanzen desselben UPX-komprimierten Programms geladen sind.
С грехом пополам перевёл гуглом:
UPX-сжатые файлы программ также имеют большое влияние на системные ресурсы. Операционная система не может читать без сжатия изображения непосредственно с диска (см. виртуальной памяти), как это происходит в случае несжатый исполняемые файлы. Вместо этого, оставляем за собой декомпрессор UPX хранения данных для извлечения данных, которые будут выделены, пока программа загрузки файла - если они используются или нет. Это также предотвращает повторное использование ресурсов при загрузке нескольких экземпляров одной и той же программы сжатые UPX.
Это большой минус значит... Особенно когда запускается несколько экземпляров и для каждого из них выполняется одна и та же работа? %-\
Если экземпляр один - ещё более-менее


 
TIF ©   (2009-09-05 20:25) [10]

> Кстати лучше всего поддержка пакеров у Касперски

Слава богу что речь про Kaspersky

А то вот ещё статья Криса-крыса Касперски:
http://api.farmanager.com/ru/articles/bonus/www_programme_ru_102001_1.htm
Грамотно ли написана? У меня лично к творениям этого "хакера всех времён и народов" только отрицательное отношение, и сочувствие к самому автору...


 
Игорь Шевченко ©   (2009-09-05 20:28) [11]

TIF ©   (05.09.09 20:21) [9]

Тебе настолько скучно и нечем заняться ?


 
Ruzzz   (2009-09-05 20:40) [12]

А не достаточно 7z для распространения в инете?


 
Кто б сомневался ©   (2009-09-05 21:00) [13]


> А не достаточно 7z для распространения в инете?


Мнение среденго юзера - маленькая программа с крутым функционалом (uTorrent как пример - ~200 kb (автор паковал UPX), а весит под мегабайт если распаковать) - это программа написанная профессионалом. Ну в какой то мере это правда.


 
KilkennyCat ©   (2009-09-05 21:32) [14]

Мнение среднего юзера лично я не знаю. Это все из той оперы, что опрос пользователей интернета показал, что его используют 100% пользователей, или как там в оригинале...
В свое время, программеры из одной очень серъезной конторы объяснили мне на мои жалобы, что мои проги млохо продаются, хотя лучше конкурентов,  маленькие и функциональные и ничего лишнего, что именно поэтому. А была бы большая и навороченная - значит, серъезный продукт, денег стоит...


 
DVM ©   (2009-09-05 21:35) [15]


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

+100. Из двух программ с одинаковым функционалом покупают ту, что больше.


 
Кто б сомневался ©   (2009-09-05 21:35) [16]


> маленькие и функциональные и ничего лишнего, что именно
> поэтому.


Ну глупость сморозил, сам то подумал? Сколько маленьких популярных программ продается.
Т.е. юзер скачал - запустил ага прога маленькая, все удаляю.. Ну ни бред ли? Может дело в в другом?


 
Кто б сомневался ©   (2009-09-05 21:37) [17]


> DVM ©   (05.09.09 21:35) [15]


Не народ, вы ошибаетесь.. На размер игр смотрят, на размер прог не смотрят (всмысле крутая или не крутая - судя по размеру).


 
DVM ©   (2009-09-05 21:38) [18]


> Кто б сомневался ©   (05.09.09 21:35) [16]


> Ну глупость сморозил, сам то подумал?

Это не глупость, это парадокс. Не раз был свидетелем того, что в дистрибутив плохо продающейся программы, включали кучу ненужной фигни, типа PDF, Acrobat Reader, и т.д. и, о чудо, она начинала продаваться.


 
Кто б сомневался ©   (2009-09-05 21:39) [19]

Наоборот жалуются. Вспомните Nero - все говорили зачем выпускать такого монстра - реакция Ahead - выпустили Nero Micro (ну или как там). Стали появлятся другие программы для записи, меньшего размера (1-2 мб по сравнению  - с 200-600 Nero) - и они стали популярны, люди выбирают их а не Nero .


 
DVM ©   (2009-09-05 21:39) [20]


> Кто б сомневался ©

Я даже не знаю чем объяснить сей феномен. Работает не в 100% случаев, но очень часто, особенно если программа юзеру незнакома.


 
DVM ©   (2009-09-05 21:42) [21]


> Кто б сомневался ©   (05.09.09 21:39) [19]


> Вспомните Nero

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


 
KilkennyCat ©   (2009-09-05 21:43) [22]


> DVM © (05.09.09 21:38) [18]


Именно так я и сделал. И екзешник искусственно раздул, в инсталлер таймер добавил, чтоб минут пять прогрессбаром ворочал... Продажи действительно выросли. Хотя чувствовал себя я омерзительно.


 
Кто б сомневался ©   (2009-09-05 21:44) [23]

Далее, намного больше народа юзает uTorrent хотя есть BitTorrent  (между прочим родоначальник) - все тоже самое, один в один, но размеры разные - здесь 200 кb, а там больше 2-3 mb.


 
DVM ©   (2009-09-05 21:50) [24]


> Кто б сомневался ©   (05.09.09 21:44) [23]

Может все же там есть более существенные отличия кроме размера?

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

Я не хочу сказать, что так бывает всегда, но так бывает.


 
TIF ©   (2009-09-05 21:52) [25]

> Игорь Шевченко ©   (05.09.09 20:28) [11]
> Тебе настолько скучно и нечем заняться ?

Заняться есть чем, только сначала надо понять: стоит ли этим заниматься?

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

> А не достаточно 7z для распространения в инете?

UPX + 7z - ещё лучше :)

Гм. Ещё вопрос: имеет ли смысл упаковывать инсталляторы?


 
KilkennyCat ©   (2009-09-05 21:53) [26]

И цена тоже влияет. Меня просили взломать обработку 1С. Я смотрю, автор просит за нее 300 рублей. Не так уж много, учитывая объемы той конторы - ваще копейки. Говорю - зачем взламывать, купите, все-таки честно... А они в ответ, что как-то мутно, куда-то такую мелочь отправлять, мож развод... А вот стоила бы 3000 руб, да еще с расчетным счетом от юрлица - купили бы.


 
Кто б сомневался ©   (2009-09-05 21:57) [27]


> > Кто б сомневался ©   (05.09.09 21:44) [23]
>
> Может все же там есть более существенные отличия кроме размера?
>


Нет, один в один, даже интерфес и цвета те же. все настройки те же, расположение чекбоксов и подписи те же.
BitTorrent даже какбы лучше, т.к. имеет некую BDA (Bittorrent Download Accelerator) - висит какая то BDA.exe  в процессах. Что с ней что без нее, скорость одна.
Я ж сначал BT поставил, потом узнал что есть uTorrent - его даже инсталить не надо, там всего один exe файл в отличии от BitTorrenta с россыпью файлов.


 
DVM ©   (2009-09-05 21:59) [28]


> KilkennyCat ©   (05.09.09 21:53) [26]


> И цена тоже влияет.

Тоже верно. Поэтому шереварщикам советуют не ставить слишком низкие цены на программы - отпугивает покупателей точно также как отпугивает дешевый китайский ширпотреб.


 
Кто б сомневался ©   (2009-09-05 22:03) [29]


> Тоже верно. Поэтому шереварщикам советуют не ставить слишком
> низкие цены на программы - отпугивает покупателей точно
> также как отпугивает дешевый китайский ширпотреб.


ну на западе это я точно знаю что цены делятся по классам программ, до 20$ - простенькие утилитки, совсем простые - трэшевый сегмент.

А вот если программа для своих (СНГ) - то думаю продавать небольшую программку для обычных юзеров по 18 грн (100 руб) - имхо это вполне. Если будет больше никто брать не будет, все будут крэки искать.


 
turbouser ©   (2009-09-05 22:06) [30]

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


 
Кто б сомневался ©   (2009-09-05 22:06) [31]


> по 18 грн (100 руб) -


Эм, даже меньше - 80 руб (давно курс не смотрел).
Как думаете?


 
DVM ©   (2009-09-05 22:10) [32]


> Кто б сомневался ©   (05.09.09 22:06) [31]


> Как думаете?

Что она делает то?


 
turbouser ©   (2009-09-05 22:20) [33]


> TIF ©   (05.09.09 21:52) [25]

Инсталляторы разные бывают. Вот InnoSetup например, умеет в 7z жать :)


 
TUser ©   (2009-09-05 22:30) [34]


> А второй раз когда? :))

Мой трудовик в первой школе в особо тяжких случаях присуждал "семь лет расстрела без суда и следствия". Так что все возможно.


 
Kerk ©   (2009-09-05 22:34) [35]


> TIF ©   (05.09.09 20:25) [10]
>
> А то вот ещё статья Криса-крыса Касперски:
> http://api.farmanager.com/ru/articles/bonus/www_programme_ru_102001_1.
> htm
> Грамотно ли написана? У меня лично к творениям этого "хакера
> всех времён и народов" только отрицательное отношение, и
> сочувствие к самому автору...

Может ты до него просто не дорос? Я серьезно. Я по его статьям учился маш.коды читать. Он классик практически :)

А по теме - придумай хоть один плюс использования упаковщиков, потом можно будет продолжить :)


 
turbouser ©   (2009-09-05 22:38) [36]


> Kerk ©   (05.09.09 22:34) [35]

я привел + в [30]. И придумывать не надо. Не достаточно?


 
TIF ©   (2009-09-05 23:02) [37]

> Я серьезно. Я по его статьям учился маш.коды читать. Он
> классик практически :)

У меня отрицательное отношение началось сразу после прочтения статьи насчёт исследования программы WebMoney Keeper. Не разобравшись, зачем "киперу" нужен низкоуровневый доступ к жёсткому диску, к примеру, был сделан неправильный вывод. А общий вывод статьи так ещё интереснее: сия программулина - троян и сборщик личной информации.

Photoshop 10 тоже с диском махинации проворачивает, чуть ли не в загрузочный сектор зашивает информацию о лицензии. Тоже троян?

Конечно, полезная информация в статьях Криса есть. Но меня убивает, что почти всегда на её основе делается поворот на 180 градусов и совершенно неправильный вывод. Если память не изменяет, про Firefox тоже статья в таком ключе написана, что мозилла сливает гуглу конфиденциальную информацию. Сливать-то сливает, но только сатистику посещений сайтов, по договорённости.

> придумай хоть один плюс использования упаковщиков, потом
> можно будет продолжить :)

Небольшая программа, которая очень часто дорабатывается, совершенствуется, обновляется. Желательно всех пользователей держать на самой последней версии. Если придётся каждый раз выкачивать exe по 5 МБ, вместо 1 МБ в упакованном виде, сомневаюсь что процент тех, кто захочет не обновляться, будет маленьким.
То бишь, махнут рукой. И не обновятся.
(ну и как уже сказали, интернет ещё не у всех скоростной да безлимитный... так что надо подстраиваться под любую аудиторию)

> Инсталляторы разные бывают. Вот InnoSetup например, умеет
> в 7z жать :)

По-моему уже все умеют :)
Я сейчас пытаюсь своим мозгом понять, упаковка установщиков, это вред или нет.
1) Пусть имеется Setup.exe, у него в ресурсах файлы программы, которые нужно установить (в виде 7зип-архива). Если сжать Setup.exe UPX-ом, это бред или нет. По-моему, бред (если у меня нет ошибки в рассуждениях), ведь при запуске всё будет распаковано в ОЗУ... Лишние выкрутасы.
2) Если такой расклад: Setup.exe не содержит ничего, упакован UPX-ом, а все файлы для установки лежат рядом в Setup.7z. Распаковываться будет только установщик, а выигрыш в размере тот же самый :) Уже лучше.
3) Тоже Setup.exe, Setup.7z, а внутри 7z-архива Program.exe, тоже упакованная UPX-ом. При установке достаём Program.exe из архива, а потом распаковываем UPX-ом. Получаем программу, которая занимает больше места на винчестере, но зато не жрёт лишнюю память и не заставляет Windows лишний раз обращаться к винчестеру
В этом случае правда придётся таскать с собой UPX-распаковщик (ну или внедрить его код в установщик). Но если программа обновляется часто, то можно заставлять людей качать только в самый первый раз Setup.exe, а потом лишь Setup.7z с обновлениями.

Вроде идеальный вариант.


 
Kerk ©   (2009-09-05 23:06) [38]


> TIF ©   (05.09.09 23:02) [37]
> Photoshop 10 тоже с диском махинации проворачивает, чуть
> ли не в загрузочный сектор зашивает информацию о лицензии.
>  Тоже троян?

Если правда в системные области пишет, то ну его нахрен. Конечно, троян.

> Небольшая программа, которая очень часто дорабатывается,
>  совершенствуется, обновляется. Желательно всех пользователей
> держать на самой последней версии. Если придётся каждый
> раз выкачивать exe по 5 МБ, вместо 1 МБ в упакованном виде,
>  сомневаюсь что процент тех, кто захочет не обновляться,
>  будет маленьким.

Для таких случаев zip придумали :)


 
KilkennyCat ©   (2009-09-05 23:10) [39]


> Небольшая программа, которая очень часто дорабатывается,
>  совершенствуется, обновляется. Желательно всех пользователей
> держать на самой последней версии. Если придётся каждый
> раз выкачивать exe по 5 МБ, вместо 1 МБ

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


 
TIF ©   (2009-09-05 23:15) [40]

> Для таких случаев zip придумали :)

zip уже малоэффективен. Лучше уж тогда cab, а ещё лучше 7z



Страницы: 1 2 3 вся ветка

Форум: "Прочее";
Текущий архив: 2009.11.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.58 MB
Время: 0.006 c
3-1229418698
belmol
2008-12-16 12:11
2009.11.15
blob


2-1254382883
Aleks
2009-10-01 11:41
2009.11.15
MonthCalendar и UpDown


2-1254066422
K_Lock
2009-09-27 19:47
2009.11.15
1 копия формы в MDI приложении


15-1253039747
GanibalLector
2009-09-15 22:35
2009.11.15
Самопроизвольная остановка службы "Телефония"


6-1209555293
leechdraw
2008-04-30 15:34
2009.11.15
Как отправть письмо со вложением?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский