MS-DOS EXE
From Just Solve the File Format Problem
(Difference between revisions)
(Added Kaitai Struct link) |
(Added sample files) |
||
Line 12: | Line 12: | ||
It's not clear whether there is any completely reliable way to identify an MS-DOS EXE, except in the negative (i.e. it begins with "MZ", and is not a valid [[NE]], [[PE]], etc., file). | It's not clear whether there is any completely reliable way to identify an MS-DOS EXE, except in the negative (i.e. it begins with "MZ", and is not a valid [[NE]], [[PE]], etc., file). | ||
+ | |||
+ | == Sample files == | ||
+ | * https://telparia.com/fileFormatSamples/executable/exe/ | ||
== Links == | == Links == |
Revision as of 21:34, 14 January 2021
MS-DOS EXE, also known as MZ format, is an executable file format used mainly by MS-DOS. It is the successor of COM. A number of other executable formats are extensions of it; see EXE for those formats.
Identification
An MS-DOS EXE file begins with an ASCII signature of "MZ
" (or, rarely, "ZM
"), followed by a series of 16-bit fields. The field at offset 24 (the relocation table offset) is usually (but apparently not always) less than 64, and at least 28. A value of 64 or more, or 0, suggests the format may not be MS-DOS EXE.
It's not clear whether there is any completely reliable way to identify an MS-DOS EXE, except in the negative (i.e. it begins with "MZ", and is not a valid NE, PE, etc., file).
Sample files
Links
- Wikipedia article
- MZ, from the OSDev Wiki
- http://www.delorie.com/djgpp/doc/exe/
- DOS EXE format
- EXE Explorer utility
- Ralf Brown's Interrupt Reference has an extensive list of (mostly older) MZ-based executable formats