Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Asm: Общие вопросы > Библиотеки сжатия


Автор: eXa 29.3.2007, 02:19
H!
Подскажите где найти инфы по библиотекам сжатия exe и dll с открытыми исходниками желательно на masm'е. На подобие lzma, aplib это всё что я раздобыл сидя в поисковиках. 

Автор: Xteen 29.3.2007, 17:30
Ну, хотя бы вот : _http://upx.sourceforge.net/#download
Или тебе нужны не исходники, а мануалы по написанию собственного паккера? 

Автор: eXa 29.3.2007, 19:21
А ещё че нить кроме upx имеется, если не ошибаюсь сорцы upx для nix или тут нет принципиальной разности? Да и на CPP к томуже...
Мануалы не помешают, кроме статьи "Пакер – это просто!" если чё есть, то былоб отлично 

Автор: Xteen 29.3.2007, 21:08
Цитата(eXa @  29.3.2007,  17:21 Найти цитируемый пост)
если не ошибаюсь сорцы upx для nix

Там и под никсы и по виндоус.
Цитата(eXa @  29.3.2007,  17:21 Найти цитируемый пост)
Да и на CPP к томуже...

Ну, на С там сам пакер, а стаб на асме. Я думаю, что в большинстве упаковщиков только сам стаб пишут на ассемблере, а остальное на С или что там больше по душе, хотя может я и ошибаюсь... 

А мануалы, я думаю сначала стоит изучить PE формат, а там видно будет smile 

Автор: eXa 29.3.2007, 21:34
Точн stub на асме smile 

Основы PE формата знаю, для начала должно хватить smile 

Только зачем писать сам пакер, если можно написать свою библиотеку и встроить его в какой нибудь пакер с открытым исходником

Автор: Xteen 30.3.2007, 23:04
Цитата(eXa @  29.3.2007,  19:34 Найти цитируемый пост)
Только зачем писать сам пакер, если можно написать свою библиотеку и встроить его в какой нибудь пакер с открытым исходником

Хм.. Что-то я не совсем уловил мысль... Если написать свою библиотеку, в которой будет реализован твой алгоритм сжатия, то прийдется писать и стаб, который будет запускать сжатый файл. Или ты хочешь модифицировать уже существующий упаковщик? =\

Автор: eXa 31.3.2007, 20:57
Да хочу сделать одну модификацию, для начала добавить ещё одну библиотеку сжатия, две там уже имеются, понял что с upx с моими знанями это не получится) 

Автор: lemax 28.12.2007, 12:47
Извеняюсь за внедрение, но в STUB UPX представлен код (полу ассемблерный) для добавления в сжатый фаил, в виде массива 
Код

unsigned char stub_i386_win32_pe[32178] = {
127, 69, 76, 70,  1,  1,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,   /* 0x   0 */
  1,  0,  3,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,   /* 0x  10 */
 64, 32,  0,  0,  0,  0,  0,  0, 52,  0,  0,  0,  0,  0, 40,  0,   /* 0x  20 */
190,  0,187,  0,128,124, 36,  8,  1, 15,133,252,255,255,255, 96,   /* 0x  30 */
190,  0,  0,  0,  0,141,190,  0,  0,  0,  0,102,255,135,  0,  0,   /* 0x  40 */...

Переписав его (массив) в фаил, я получил фаил типа ELF (наверно). Фаил представляет собой секции(кубиков), выкладывая которые, получается распаковщик и все остальное в сжатом файле.

Вопрос: 
Как увидеть код (на подобии как в "ИСХОДНИК_UPX/src/doc/linker.txt")?
Как дописать свои секции?

Спасибо

Автор: AET 28.1.2008, 15:08
народ помагите сделать программу для сжатие виде RLE

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