IPB

Добро пожаловать, гость ( Вход | Регистрация )

> UPX 3.xx, the Ultimate Packer for eXecutables
-=CHE@TER=-
May 27 2007, 17:58
Сообщение #1


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,355
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 311 раз(а)



UPX

Вышел UPX 3.00.
Всем советую его качать и использовать.
Из особенно понравившихся нововведений:

1) Почему-то некоторые .EXE файлы стали лучше жаться (по сравнению с 1.24w (*улыбается*)). Что не может не радовать.

2) Появилась опция "--exact" пакует файл так, что после распаковки ("-d") он в точности байт-в-байт совпадает с тем, что было перед запаковкой (если этот ключ не указать, то файлы оригинальный и распакованный будут во многих байтах различаться). Для интереса сжимал разные программы с и без этого ключа - на сжатии никак не отражается (в сжатом виде одинаково занимают), так что буду его использовать.

3) Появился ещё один мега ключ "--lzma", который для особо толстых .EXE файлов использует алгоритм сжатия LZMA (от 7zip надо полагать). И правда пакует куда лучше, но пригодится только для толстых, от 500 Кб и больше (может и меньше - зависит от файла), программ т.к. на мелких файлах готовый .EXE получится больше, чем если эту опцию не использовать (т.к. в код запакованного .EXE добавляется алгоритм распаковки LZMA, который нехило весит). Ну и, конечно, памяти LZMA для работы потребует больше...

В общем, все кто ещё не разжился 3-ей версией - вперёд!

а) Для обычных файлов делаем так:
upx -9 --exact filename.exe

б) А для особо толстых файлов так:
upx -9 --lzma --exact filename.exe

Насчёт LZMA: .EXE файл от простой программы на Delphi 7
CODE
Begin
End.

Занимает 12800 байт (со стрипнутыми Reloc'ами).
Обычное сжатие сделает из него 8704 байта.
LZMA сделает 10752 байта.
Выводы делайте сами - чистых 2 Кб довеска при LZMA. Так что тренируйтесь лучше на толстых файлах. (*улыбается*)
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topic
Ответов
-=CHE@TER=-
May 31 2007, 15:22
Сообщение #2


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,355
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 311 раз(а)



С UPX 3.00 вышла такая шткуа:
Пакую им .EXE файл от Scorcher DEMO с опцией "--exact", но после распаковки начиная с 00092A10 до 00098113 включительно, в 800-ах байтах есть различия. Так что "--exact" тут получается не полный.
Создал у них отчёт об ошибке. Интересно, что скажут.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
jTommy
May 31 2007, 16:05
Сообщение #3


Наблюдающий
***

Группа: CTPAX-X
Сообщений: 197
Регистрация: 4-February 08
Из: деревня Москва
Пользователь №: 6
Спасибо сказали: 19 раз(а)



[OffTopic]
Интересно... Сжатие с потерями... smile.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Jun 2 2007, 13:20
Сообщение #4


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,355
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 311 раз(а)



QUOTE(jTommy @ May 31 2007, 04:05 PM) *
[OffTopic]
Интересно... Сжатие с потерями... smile.gif
Да ладно тебе - это не офтопик.
На самом деле не сжатие с потерями, а сжатие с игнорированием какой-то информации. Т.е., видимо, в UPX записан алгоритм, по которому восстанавливаются какие-то структуры. Другое дело, что Scorcher - старая игра и Windows-версия написана на WATCOM C++, который очень кривой для написания на нём под Windows ("чистый" .EXE без упаковки UPX'ом - только под Windows 9x запускается, иначе говорит, что это вообще не Windows-приложение). Обрати внимание, что расхождение байтов именно в хвосте файла. Похоже на то, что какие-то ресурсы "перепаковываются". На работоспособности, вроде, никак не отражается, но досадно, что изменяет файл, хотя ключ "--exact" и указан.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Сообщения в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0 -

 



Упрощённая версия Сейчас: 28th April 2024 - 22:24