可执行程序(英文:Executable Program、EXE File)在计算机科学中指一种内容可被电脑解释为程序的电脑文件。它可以加载到内存中,由操作系统加载并执行。特定的CPU指令集(如X86指令集)对应的不同平台之间的可执行程序不可直接移植运行。在MS-DOS和MS-WINDOWS下,此类文件扩展名为.exe。WINDOWS操作系统中的二进制可执行文件分两种:一种后辍名为.com,另一种是.exe 。
文件结构
EXE 文件比较复杂,每个EXE文件都有一个文件头,结构如下。
EXE文件头的信息
├偏移量┤ 意义 ┤
├00h-01h ┤MZ'EXE文件标记 ┤
├02h-03h ┤最后一页的字节数(每页512B) ┤
├04h-05h ┤文件长度(字节数)除以512的商+1 -| ┤
├06h-07h ┤重定位项的个数 ┤
├08h-09h ┤文件头除16的商 ┤
├0ah-0bh ┤程序运行所需最小段数 ┤
├0ch-0dh ┤..............大.... ┤
├oeh-0fh ┤堆栈段的段值 (SS) ┤
├10h-11h ┤........sp ┤
├12h-13h ┤文件校验和 ┤
├14h-15h ┤IP ┤
├16h-17h ┤CS ┤
├18h-19h ┤............ ┤
├1ah-1bh ┤............ ┤