Упаковщик 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-ю функцию. Поддерживается упаковка программ, использующих путь (последнее поле заголовка).
  • mtappack 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
  • если сжать period10 kpack-ом, то вылетает ошибка "not kolibrios executable"
  • diamond
    А в ядре есть код для распаковки? Я написал функцию которая грузит файл в ядро, можно сделать такую же для сжатых файлов с автораспаковкой. Память для файла выделяется из кучи.
  • Heavyiron
    kpack - это не упаковщик программ, он получает на входе бинарный файл произвольного содержимого и выдаёт на выходе упакованный файл. Который можно подсунуть процедуре из unpacker.inc и получить исходный неупакованный файл. Естественно, программой упакованный файл не будет (думаю, ни у кого не возникает желания запихнуть прогу в рар-архив и запустить этот архив?)
    Serge
    Есть. Файл unpacker.inc, функция unpack, описание функции в начале unpacker.inc
  • А мне показалось, что ты просто mtappack переименовал ;) Теперь все понятно, спасибо!
  • diamond
    Как я понял входные данные вместе с заголовком, но проверка на правильность не проводится.
  • Serge
    Правильно понял. Процедура рассчитывает на то, что она будет вызываться, когда вызывающий код уже поймёт, что данные упакованы (если данные неупакованы, вызывающий код должен просто продолжать работу без вызова 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 8 guests