Сайт о сжатии >> ARCTEST
Пакер 32-битных DOS EXE'шников от
авторов APack. В некотором смысле
этот упаковщик - конкурент UPX,
так как он также является много-форматным
EXE-пакером. Правда 32Lite может работать только
с исполнимыми файлами DOS, такими как: Watcom "LE",
Watcom W32Run, DJGPP2 "Coff", DOS32, DPMI "PE", PHARLAP
"P3", TMT Pascal,
WDOS/X "MZ". Причём некоторым форматам
обеспечена более полная поддержка, в
отличие от UPX и XE.
32LiTE (32-bit DOS Executable Packer)
Watcom "LE" Executables
You can compress numerous executables files which were created with Watcom C/C++ compiler. This compiler is the most frequently used for creating DOS 32-bit executables. Especially games (i.e. DOOM 1/2, Mortal Kombat, Descent), demonstration programs (i.e. Vivid Experiment, Toasted, Square, Tribes), shareware and commercial programs.
32LiTE supports the majority of extenders (PMODE/W, EOS, CauseWay, DOS/32 Advanced, Zurenava DOS extender) as well as the original DOS4G/W extender. The latest versions of the WDOS/X extender should also work ok, but if you want to use it you should refer to the WDOS/X article. "LE" format supports zero based flat model. 32LiTE can compress every WATCOM "LE" file, unlike other packers. (i.e. UPX and XE are not able to handle 16-bit segments fixups).
DJGPP2 "COFF" Executables
DJGPP version 2 is the DOS version of the GNU C/C++ compiler. It's almost free, so there are a lot of DOS 32-bit programs made with it. Original stub, PMODEDJ and WDOS/X stubs are supported. "COFF" format supports nonzero based flat model.
DOS32 version 3.00-3.03 and 3.50 Executables DOS32 is an old dos extender by Adam Seychell. Complete DOS32 package
includes extender and OMF linker. But the latest version (3.50) was still beta and dated 07 Aug 1996, so it's really out of date now. But it has an
original set of C like functions, and the format is supported by several compilers (eg. Pascal
WDOS/X can handle DOS32 executables so it is also supported. Mind that DOS32 3.00-3.03 and 3.50 are not compatible, so you are not able to run old DOS32 executables with the latest version of the extender. DOS32 has an original compression which is worse than 32LiTE's. "DOS32" format supports both zero and nonzero based flat model.
DPMI "PE" Executables
"PE" format is the basic executable format for Win9x/NT, and there are lots of compilers and linkers which support it. So it's possible to create 32-bit MS-DOS executables in this format (like Virtual Pascal does). Since the extenders function set is not defined we assume DPMI. I.e. WDOS/X provides support for "PE" with DPMI function set. Mind that "PE" support is very limited, don't expect any exporting / importing stuff. "PE" format supports zero based flat model.
PHARLAP "P3" Executables
Another old dos extender. It was used for 3DS, ANIMATOR and FOXPRO. But nowadays it's completely forgotten. Nevertheless WATCOM C/C++ supports it, so we do too. "P3" format supports nonzero based flat model.
TMT Pascal Executables
TMT Pascal is another 32-bit Pascal compiler for DOS, OS/2, WIN95. TMT Pascal is available in commercial and free restricted version. The TMT executable format is just a variant of the DOS32 format, because it was originally derived from it. A number of stubs were developed to handle TMT executables, and PMODE, WDOS/X, PMODE/W and DOS4G/W (WSTUB) based stubs are supported. "TMT" format supports zero based flat model.
WATCOM W32RUN Executables
It's an internal format of WATCOM C/C++ executables (like BINW/wcc.exe, BINW/wpp.exe), at least I have never seen this format anywhere else. The main advantage of this format is that executables are able to be run under OS/2 as well as under DOS. So the executable is both an OS/2 and a DOS executable. "W32" format supports zero based flat model.
WDOS/X is a free DOS extender by Michael Tippach. "WDOS/X" format supports both zero and nonzero based flat model. It's very small, has original compression and it handles a variety of file formats besides original "MZ" which is supported by 32LiTE. So if you want to run your executable under WDOS/X extender you should use it's original format for the compression.
32LiTE gives the best compression rates for WDOS/X executables (?).
32LiTE vs UPX:
There's another 32-bit executable compressor which is worth mentioning. It's UPX by Markus F.X.J. Oberhumer & Laszlo Molnar. In fact it is the only one besides 32LiTE which is a real 32-bit exepacker. Others (like PMWLITE, XE, VE) do not follow one significant (as I think) principle. They change the file format! The packed file is stored in a different format or as a loader in the original format + the packed data as an overlay. Thus restricts the output file to the specific DOS Extender or increases compressed file size by adding functions for loading packed overlays to the code.
32LiTE has the following advantages over UPX:
And last but not the least, the main UPX disadvantage is that for WATCOM "LE", TMT, "PE" formats the compressed file will have less free memory than the original one. It will have as much less free memory as the size of the packed data. It doesn't matter if the packed file is small, but if it is several MBs?
But to be honest, UPX has one significant advantage over 32LiTE: generally it compresses better (especially big files). But Jibz ( a.k.a. Joergen Ibsen) promisses to improve aPLib. In Jibz we trust :) aPACK packs most simple DOS exe files much better than UPX.
Сайт о сжатии >>
Новинки | О сервере | Статистика
Книга "Методы сжатия данных" >>
Универсальные | Изображений | Видео
Разделы >> Download (статьи+исходники) | Ссылки | Ru.compress | Arctest | Видео | Каталог ссылок | Форум
Проекты >> Д.Ватолина | А.Ратушняка | М.Смирнова | В.Юкина | Е.Шелвина | А.Филинского | Д.Шкарина | С.Оснача