EXEPACK
m (→Software) |
|||
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 | + | '''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 | + | 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 | + | Apparently, bytes <code>80 00</code> always appear at offset 16. In other words, the ''SP'' field is 128. |
+ | |||
+ | 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. This position can be calculated from the EXE header fields. | ||
+ | |||
+ | 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. | ||
== Software == | == Software == | ||
− | + | 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 (on disk 2) | ** [https://archive.org/details/microsoftmacroassembler_v51 Microsoft Macro Assembler v5.1] - Includes EXEPACK 4.06 (on disk 2) |
Revision as of 15:19, 6 April 2022
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.
Identification
Apparently, bytes 80 00
always appear at offset 16. In other words, the SP field is 128.
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. This position can be calculated from the EXE header fields.
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.
Software
Compression:
- Microsoft's EXEPACK.EXE (or LINK.EXE with /E or /EXEPACK option) - Included with some development SDKs.
- Microsoft Macro Assembler v5.1 - Includes EXEPACK 4.06 (on disk 2)
- David Fifield's exepack
Decompression (static):
- unEXEPACK by Samuel Chevet
- David Fifield's exepack
- UNEXEPACK from openKB
Decompression (dynamic -- DOS only):
- Refer to Executable compression#Decompression software
- UNEXEPAC by Dan Norstedt. Includes source code.
Decompression (unknown technique):
- UPACKEXE by Fabrice Bellard - Included with LZEXE. For DOS.
Patchers:
Links
- ModdingWiki: Microsoft EXEPACK
- Website for David Fifield's exepack
- EXEPACK and the A20-Gate, from the OS/2 Museum