MS-DOS EXE
From Just Solve the File Format Problem
(Difference between revisions)
(→Identification) |
|||
Line 9: | Line 9: | ||
== Identification == | == Identification == | ||
− | An MS-DOS EXE file begins with an ASCII signature of "<code>MZ</code>". The 16-bit integer at offset 24 is ''usually'' (but apparently not always) less than 64. | + | An MS-DOS EXE file begins with an ASCII signature of "<code>MZ</code>". The 16-bit integer at offset 24 (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). | 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). |
Revision as of 00:48, 8 May 2014
MS-DOS EXE is an executable file format used mainly by MS-DOS. It is the successor to COM. A number of other EXE formats are based on it.
Its name has many variations, such as DOS MZ executable. It is also called MZ, though that name might include hybrid formats (NE, PE, etc.) that also use the "MZ" signature.
Identification
An MS-DOS EXE file begins with an ASCII signature of "MZ
". The 16-bit integer at offset 24 (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).
Links
- Wikipedia article
- MZ, from the OSDev Wiki
- http://www.delorie.com/djgpp/doc/exe/