It was a part of some development SDKs, and was not a separate product. The compression can be done by the EXEPACK.EXE program, or by a feature integrated into the LINK.EXE program.
There are about a half dozen different versions of the compressed format.
Some of the EXE files included with some versions of MS-DOS were compressed with EXEPACK.
80 00 always appear at offset 16. In other words, the SP field is 128 (refer to MS-DOS EXE#Header structure).
10 00 or
12 00 appear at offset 20. In other words, the IP field is 16 or 18.
The ASCII signature "
RB" appears immediately preceding the start-of-execution point in the file (refer to MS-DOS EXE#Special file positions).
The characteristic error message "
Packed file is corrupt" appears about 200 to 300 bytes after the signature. In rare cases, this message may be translated or erased. D. Fifield suggests searching for the byte sequence
cd 21 b8 ff 4c cd 21 that immediately precedes the error message.
- Microsoft's EXEPACK.EXE (or LINK.EXE with /E or /EXEPACK option) - Included with some development SDKs.
- David Fifield's exepack
Decompression, for DOS:
- See Executable compression#Decompression software for some multi-format utilities that support EXEPACK.
- UNEXEPAC by Dan Norstedt. Includes source code.
- UPACKEXE by Fabrice Bellard - Included with LZEXE.
- UnPack (archived) by Tenth Planet Software / Clive Turvey