Може би някои от вас са чували за UPX, може би – не. За това първо ще обясня какво представлява. UPX е една малка програмка, способна да компресира всякакви изпълними файлове, от повечето познати операционни системи, в това число Linux и Windows. Компресията е такава, че не променя по никакъв начин функционалността на съответния файл, а само размера му. Това става чрез т. нар. “прозрачна компресия” при която файлът се разкомпресира в оперативната памет при стартирането му (за сравнение, “нормалните”, т.е. некомпресирани файлове, просто се копират там). Теоретично, скоростта на зареждане се забавя малко ако файлът е компресиран, но на практика нормален човек не може да направи разлика.

Ако използвате UPX компресия, може да смалите драстично размера на много изпълними файлове (с ПЪТИ). Това е полезно ако ползвате софтуер върху флаш памет, или ако просто искате да спестите някой и друг мегабайт.

Повечето изпълними файлове могат да бъдат компресирани, а тези които не могат – просто не могат :)

Така че няма опасност да компресирате нещо и то да спре да работи…

Всъщност това все пак е възможно да се случи, но се случва много рядко, и то ако изпълнимият файл е малко по-нестандартен като формат. (няма нужда тук да се впускам в дълги технически разяснения ЗАЩО това се случва…).

Самата програмка с която компресирате в UPX е конзолна, и за нормалния потребител е малко неудобна. Затова преди време направих интерфейс за нея, чрез който можете да компресирате/декомпресирате един или много файлове, само чрез влачене и пускане. Програмката е само за Windows (към момента) и можете да я свалите от тази връзка. Това е инсталатор, просто му посочете папката в която искате да се инсталира UPXDrop.

Ето как изглежда самата програмка:

В падащият списък са изредени различни нива на компресия.

–best е най-доброто

-1 – най-лошото

-d – ако искате да разкомпресирате вече компресиран с UPX файл.

–force “форсира” компресията, независимо дали това може да повреди изходния файл (ако има някаква несъвместимост с UPX). Понякога, въпреки някоя несъвместимост, ако използвате –force, изходния файл си работи нормално, така че ще трябва да тествате в случай на проблеми с компресирането.

От личен опит мога да ви кажа, че под Windows съм компресирал всички възможни exe/dll файлове (непринадлежащи на windows), и съм спестил доста мегабайти така. Проблеми не съм имал. Нито един.