Page 3 of 8

Posted: Mon May 15, 2006 4:23 pm
by diamond
Обнаружил небольшой глюк - если стек программы располагается между самой программой и областью параметров, то ключ -0 игнорируется. Исправил. Ссылки те же. Уже упакованные программы переупаковывать не нужно, это проявляется только в исключительно редких случаях.
Да, кстати, на случай, если кому-нибудь интересно, выкладываю распаковщик программ под Menuet/Kolibri. Понимает все существующие упаковщики (mexc,mxp*,mtappack), за исключением последней версии mtappack (то бишь 1.0). Все программы из дистрибутива распаковывает на ура. Работает под Windows. При распаковке показывает информацию о упаковщике.
http://diamondz.land.ru/mtunpack.exe
http://diamondz.land.ru/mtunpack_src.rar (мало ли, вдруг кому исходники понадобятся)

Posted: Mon Jun 26, 2006 3:50 pm
by diamond
Версия 2.0.
http://diamondz.land.ru/mtappack (Kolibri-версия)
http://diamondz.land.ru/mtappack.exe (Windows-версия)
http://diamondz.land.ru/mtappack_kolibri_src.7z (исходники Kolibri-версии)
http://diamondz.land.ru/mtappack_src.7z (исходники Windows-версии)
Теперь по умолчанию mtappack использует дополнительную память (для чего раньше нужно было использовать ключ /0). Отменить это поведение можно ключом -k (в обеих версиях). Соответствующий флажок в GUI никуда не делся, только теперь по умолчанию он установлен. Kolibri-версия перешла на современную 70-ю функцию. Поддерживается упаковка программ, использующих путь (последнее поле заголовка).

Posted: Wed Aug 09, 2006 7:51 pm
by diamond
mtappack 2.1 - оптимизация по размеру загрузчиков.
mtunpack 0.2 - поддерживает mtappack 1.0, 2.0, частично 2.1 (для программ без командной строки и пути).
Ссылки те же.

Posted: Mon Nov 06, 2006 5:30 pm
by diamond
mtappack: версия 2.2 - исправлен редкий баг, проявляющийся на cpuid 2.05. LZMA-загрузчик уменьшен на 18 байт. Ссылки те же.
kerpack: исправлен мелкий баг, не влияющий на работу, но чуть-чуть ухудшающий сжатие.
http://diamondz.land.ru/kerpack
http://diamondz.land.ru/kerpack_src.7z
kpack, kunpack: сигнатура заменена на 'KPCK' (Kolibri PaCKer)
http://diamondz.land.ru/kpack
http://diamondz.land.ru/kpack.exe
http://diamondz.land.ru/kpack_src.7z
http://diamondz.land.ru/kpack_kolibri_src.7z
http://diamondz.land.ru/unpacker.inc
http://diamondz.land.ru/kunpack.exe

Posted: Fri Nov 10, 2006 8:19 pm
by Heavyiron
если сжать period10 kpack-ом, то вылетает ошибка "not kolibrios executable"

Posted: Sat Nov 11, 2006 12:36 am
by Serge
diamond
А в ядре есть код для распаковки? Я написал функцию которая грузит файл в ядро, можно сделать такую же для сжатых файлов с автораспаковкой. Память для файла выделяется из кучи.

Posted: Mon Nov 13, 2006 4:52 pm
by diamond
Heavyiron
kpack - это не упаковщик программ, он получает на входе бинарный файл произвольного содержимого и выдаёт на выходе упакованный файл. Который можно подсунуть процедуре из unpacker.inc и получить исходный неупакованный файл. Естественно, программой упакованный файл не будет (думаю, ни у кого не возникает желания запихнуть прогу в рар-архив и запустить этот архив?)
Serge
Есть. Файл unpacker.inc, функция unpack, описание функции в начале unpacker.inc

Posted: Mon Nov 13, 2006 5:08 pm
by Heavyiron
А мне показалось, что ты просто mtappack переименовал ;) Теперь все понятно, спасибо!

Posted: Mon Nov 13, 2006 10:24 pm
by Serge
diamond
Как я понял входные данные вместе с заголовком, но проверка на правильность не проводится.

Posted: Tue Nov 14, 2006 7:08 pm
by diamond
Serge
Правильно понял. Процедура рассчитывает на то, что она будет вызываться, когда вызывающий код уже поймёт, что данные упакованы (если данные неупакованы, вызывающий код должен просто продолжать работу без вызова unpack) и выделит выходную память.

Posted: Tue May 15, 2007 6:16 pm
by diamond
Косметическое изменение в Windows-версии kpack: можно указывать ключ /nologo, подавляющий вывод, не имеющий отношения ко входу/выходу. Удобно для использования в svn://programs/build_all.bat, но имейте в виду: старая версия kpack будет ругаться.

Posted: Wed May 16, 2007 4:17 pm
by diamond
kerpack жив

Posted: Wed May 16, 2007 4:49 pm
by Heavyiron
Хм, а что за exe-шник создается при сборке kerpack-а? Это то, о чем я думаю? :)



Хотя нет, "программа не запускается"

Posted: Wed May 16, 2007 4:58 pm
by diamond
Рекомендую посмотреть bat'ник компиляции ;) После сборки exe'шника ещё нужно сказать "fasm doexe.asm kerpack" - это создаст Колибри-бинарник.

Posted: Thu May 17, 2007 5:35 am
by Heavyiron
C exe-шником въехал. Но что-то с последней ревизией опять не работает - черный экран после выбора параметров.