1-3DOS头详解
DOS头详解
DOS头是PE文件结构中的第一个头,用来保持对DOS系统的兼容,并且用于定位真正的PE头。
1.winnt.h
在该头文件中定义了DOS头的结构体,大小为40h,64d
//<winnt.h> |
其中,只关心两个属性e_magic
和e_lfanew
。
-
e_magic标志了是否是一个EXE,大小为两个字节:如果是MZ(十六进制为4D 5A),则为EXE。
-
e_lfanew记录了PE头相对于文件基址的偏移地址,大小为四个字节:
2.DOS头和DOS Stub Program部分
DOS头中,除了e_magic和e_lfanew,其余数据都只是填充使用。在DOS下的程序如下:
只输出一个"This is program cannot be run in DOS mode.",就退出程序。****
发布于