.EXE file

EXE is the common filename extension denoting an executable file (a program) in the DOS, OpenVMS, Microsoft Windows, ReactOS, and OS/2 operating systems. Besides the executable program itself, many EXE files contain other components called resources, such as bitmaps and icons which the executable program may use for its graphical user interface.

Contents:-

1. EXE file formats
a. 1.1 DOS
b. 1.2 OS/2
c. 1.3 Windows

2. Other

EXE file formats:-

There are several main executable file formats:

1.1) DOS…

• 16-bit DOS MZ executable: The original DOS executable file format, these can be identified by the letters “MZ” at the beginning of the file in ASCII.
• 16-bit DOS COM executable: DOS executable files having the “.COM” extension.
• 16-bit New Executable: Introduced with Multitasking MS-DOS 4.0, these can be identified by the “NE” in ASCII. These never became popular or useful for DOS and cannot be run by any other version of DOS, but can usually be run by 32-bit Windows and OS/2 versions.

1.2) OS/2

• 32-bit Linear Executable: Introduced with OS/2 2.0, these can be identified by the “LX” in ASCII. These can only be run by OS/2 2.0 and higher. They are also used by some DOS extenders.
• Mixed 16/32-bit Linear Executable: Introduced with OS/2 2.0, these can be identified by the “LE” in ASCII. This format is not used for OS/2 applications anymore, but instead for VxD drivers under Windows 3.x and Windows 9x, and by some DOS extenders.

1.3) Windows

• 32-bit Portable Executable: Introduced with Windows NT, these are the most complex and can be identified by the “PE” in ASCII (although not at the beginning, these files also begin with “MZ”). These can be run by all versions of Windows NT, and also Windows 95 and higher, partially also in DOS using HX DOS Extender. They are also used in BeOS R3, however the format used by BeOS somewhat violates the PE specification as it doesn’t specify a correct subsystem.
• 64-bit Portable Executable: Introduced by 64-bit versions of Windows, these are PE files with a CPU type corresponding to a 64-bit instruction set such as x86-64 or IA-64. These can only be run by 64-bit editions of Microsoft Windows, such as Windows XP 64-Bit Edition or Windows Server 2003 64-Bit Edition, running on machines with the CPU type specified in the file.

2) Other…

Besides these, there are also many custom EXE formats, such as W3 (a collection of LE files, only used in WIN386.EXE), W4 (a compressed collection of LE files, only used in VMM32.VXD), DL, MP, P2, P3 (last three used by Phar Lap extenders), and probably more.
When a 16-bit or 32-bit Windows executable is run by Windows, execution starts at either the NE or the PE, and ignores the MZ code. On the other hand, DOS cannot (except using HX DOS Extender, supports PE files only) execute these files. To prevent DOS from crashing, all Windows executable files should and usually do start with a “working” DOS program called a stub., simply displaying the message “This program cannot be run in DOS mode” (or similar), but there are a few dual-mode programs (MZ-NE or MZ-PE) (such as regedit and some older WinZIP self extractors) have a usable DOS section.

Comments

Popular posts from this blog

Bluetooth

Software Programmer