EXEPACK

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Software)
(Identification)
(5 intermediate revisions by one user not shown)
Line 3: Line 3:
 
|subcat=Compression
 
|subcat=Compression
 
|subcat2=Executable compression
 
|subcat2=Executable compression
 +
|wikidata={{wikidata|Q105858233}}
 
|released=1985
 
|released=1985
 
}}
 
}}
'''EXEPACK''' is an executable compression utility for DOS-style [[MS-DOS EXE|EXE]] files. It was developed by Microsoft, and originally written by Reuben Borman.
+
'''EXEPACK''' is an executable compression utility by Microsoft. It compresses [[MS-DOS EXE|DOS EXE]] files using [[run-length encoding]]. It was originally written by Reuben Borman.
  
There are multiple versions of it, which differ in some of the technical details that need to be dealt with to restore compressed files to their original form.
+
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.
 
Some of the EXE files included with some versions of [[MS-DOS]] were compressed with EXEPACK.
  
 
== Identification ==
 
== Identification ==
The strings "{{magic|RB}}" and "{{magic|Packed file is corrupt}}" usually appear somewhere in the file.
+
Apparently, bytes <code>80 00</code> always appear at offset 16. In other words, the ''SP'' field is 128 (refer to [[MS-DOS EXE#Header structure]]).
 +
 
 +
Bytes <code>10 00</code> or <code>12 00</code> appear at offset 20. In other words, the ''IP'' field is 16 or 18.
 +
 
 +
The ASCII signature "{{magic|RB}}" appears immediately preceding the start-of-execution point in the file (refer to [[MS-DOS EXE#Special file positions]]).
 +
 
 +
The characteristic error message "{{magic|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 {{magic|cd 21 b8 ff 4c cd 21}} that immediately precedes the error message.
 +
 
 +
== See also ==
 +
* [[EXEPACK2]]
  
 
== Software ==
 
== Software ==
Creation:
+
Compression:
 
* Microsoft's EXEPACK.EXE (or LINK.EXE with /E or /EXEPACK option) - Included with some development SDKs.
 
* Microsoft's EXEPACK.EXE (or LINK.EXE with /E or /EXEPACK option) - Included with some development SDKs.
** [https://archive.org/details/microsoftmacroassembler_v51 Microsoft Macro Assembler v5.1] - Includes EXEPACK 4.06 (disk 2)
+
** {{OldskoolDOSEXE}} → Executable Tools Pack → packers/exepack.*
 +
** [https://archive.org/details/microsoftmacroassembler_v51 Microsoft Macro Assembler v5.1] - Includes EXEPACK 4.06 (on Disk 2)
 
* [https://www.bamsoftware.com/software/exepack/ David Fifield's exepack]
 
* [https://www.bamsoftware.com/software/exepack/ David Fifield's exepack]
  
Decompression (static):
+
Decompression, general:
 
* [https://github.com/w4kfu/unEXEPACK unEXEPACK] by Samuel Chevet
 
* [https://github.com/w4kfu/unEXEPACK unEXEPACK] by Samuel Chevet
 
* [https://www.bamsoftware.com/software/exepack/ David Fifield's exepack]
 
* [https://www.bamsoftware.com/software/exepack/ David Fifield's exepack]
 
* [https://sourceforge.net/p/openkb/code/ci/master/tree/src/tools/unexepack.c UNEXEPACK from openKB]
 
* [https://sourceforge.net/p/openkb/code/ci/master/tree/src/tools/unexepack.c UNEXEPACK from openKB]
  
Decompression (dynamic -- DOS only):
+
Decompression, for DOS:
* Refer to [[Executable compression#Decompression software]]
+
* See [[Executable compression#Decompression software]] for some multi-format utilities that support EXEPACK.
 
* {{CdTextfiles|simtel/simtel20/MSDOS/EXECOMP/UNEXEP10.ZIP|UNEXEPAC}} by Dan Norstedt. Includes source code.
 
* {{CdTextfiles|simtel/simtel20/MSDOS/EXECOMP/UNEXEP10.ZIP|UNEXEPAC}} by Dan Norstedt. Includes source code.
 
+
* UPACKEXE by Fabrice Bellard - Included with [[LZEXE#Software|LZEXE]].
Decompression (unknown technique):
+
* UnPack ([https://web.archive.org/web/20070101000000*/http://www.tbcnet.com/~clive/unpack.zip archived]) by Tenth Planet Software / Clive Turvey
* UPACKEXE by Fabrice Bellard - Included with [[LZEXE#Softare|LZEXE]]. For DOS.
+
  
 
Patchers:
 
Patchers:

Revision as of 21:29, 3 July 2022

File Format
Name EXEPACK
Ontology
Wikidata ID Q105858233
Released 1985

EXEPACK is an executable compression utility by Microsoft. It compresses DOS EXE files using run-length encoding. It was originally written by Reuben Borman.

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.

Contents

Identification

Apparently, bytes 80 00 always appear at offset 16. In other words, the SP field is 128 (refer to MS-DOS EXE#Header structure).

Bytes 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.

See also

Software

Compression:

Decompression, general:

Decompression, for DOS:

Patchers:

Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox