Обнаружил небольшой глюк - если стек программы располагается между самой программой и областью параметров, то ключ -0 игнорируется. Исправил. Ссылки те же. Уже упакованные программы переупаковывать не нужно, это проявляется только в исключительно редких случаях.
Да, кстати, на случай, если кому-нибудь интересно, выкладываю распаковщик программ под Menuet/Kolibri. Понимает все существующие упаковщики (mexc,mxp*,mtappack), за исключением последней версии mtappack (то бишь 1.0). Все программы из дистрибутива распаковывает на ура. Работает под Windows. При распаковке показывает информацию о упаковщике.
http://diamondz.land.ru/mtunpack.exe
http://diamondz.land.ru/mtunpack_src.rar (мало ли, вдруг кому исходники понадобятся)
Упаковщик KPack
-
Ушёл к умным, знающим и культурным людям.
Версия 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-ю функцию. Поддерживается упаковка программ, использующих путь (последнее поле заголовка).
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-ю функцию. Поддерживается упаковка программ, использующих путь (последнее поле заголовка).
mtappack 2.1 - оптимизация по размеру загрузчиков.
mtunpack 0.2 - поддерживает mtappack 1.0, 2.0, частично 2.1 (для программ без командной строки и пути).
Ссылки те же.
mtunpack 0.2 - поддерживает mtappack 1.0, 2.0, частично 2.1 (для программ без командной строки и пути).
Ссылки те же.
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
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
если сжать period10 kpack-ом, то вылетает ошибка "not kolibrios executable"
diamond
А в ядре есть код для распаковки? Я написал функцию которая грузит файл в ядро, можно сделать такую же для сжатых файлов с автораспаковкой. Память для файла выделяется из кучи.
А в ядре есть код для распаковки? Я написал функцию которая грузит файл в ядро, можно сделать такую же для сжатых файлов с автораспаковкой. Память для файла выделяется из кучи.
Heavyiron
kpack - это не упаковщик программ, он получает на входе бинарный файл произвольного содержимого и выдаёт на выходе упакованный файл. Который можно подсунуть процедуре из unpacker.inc и получить исходный неупакованный файл. Естественно, программой упакованный файл не будет (думаю, ни у кого не возникает желания запихнуть прогу в рар-архив и запустить этот архив?)
Serge
Есть. Файл unpacker.inc, функция unpack, описание функции в начале unpacker.inc
kpack - это не упаковщик программ, он получает на входе бинарный файл произвольного содержимого и выдаёт на выходе упакованный файл. Который можно подсунуть процедуре из unpacker.inc и получить исходный неупакованный файл. Естественно, программой упакованный файл не будет (думаю, ни у кого не возникает желания запихнуть прогу в рар-архив и запустить этот архив?)
Serge
Есть. Файл unpacker.inc, функция unpack, описание функции в начале unpacker.inc
А мне показалось, что ты просто mtappack переименовал Теперь все понятно, спасибо!
diamond
Как я понял входные данные вместе с заголовком, но проверка на правильность не проводится.
Как я понял входные данные вместе с заголовком, но проверка на правильность не проводится.
Serge
Правильно понял. Процедура рассчитывает на то, что она будет вызываться, когда вызывающий код уже поймёт, что данные упакованы (если данные неупакованы, вызывающий код должен просто продолжать работу без вызова unpack) и выделит выходную память.
Правильно понял. Процедура рассчитывает на то, что она будет вызываться, когда вызывающий код уже поймёт, что данные упакованы (если данные неупакованы, вызывающий код должен просто продолжать работу без вызова unpack) и выделит выходную память.
Косметическое изменение в Windows-версии kpack: можно указывать ключ /nologo, подавляющий вывод, не имеющий отношения ко входу/выходу. Удобно для использования в svn://programs/build_all.bat, но имейте в виду: старая версия kpack будет ругаться.
kerpack жив
Хм, а что за exe-шник создается при сборке kerpack-а? Это то, о чем я думаю?
Хотя нет, "программа не запускается"
Хотя нет, "программа не запускается"
Рекомендую посмотреть bat'ник компиляции После сборки exe'шника ещё нужно сказать "fasm doexe.asm kerpack" - это создаст Колибри-бинарник.
C exe-шником въехал. Но что-то с последней ревизией опять не работает - черный экран после выбора параметров.
Who is online
Users browsing this forum: No registered users and 4 guests