typedef struct _IMAGE_OPTIONAL_HEADER {
WORD Magic;
BYTE MajorLinkerVersion;
BYTE MinorLinkerVersion;
DWORD SizeOfCode;
DWORD SizeOfInitializedData;
DWORD SizeOfUninitializedData;
DWORD AddressOfEntryPoint;
/
/
程序执行入口RVA
DWORD BaseOfCode;
DWORD BaseOfData;
DWORD ImageBase;
/
/
文件载入内存首选载入地址
DWORD SectionAlignment;
/
/
载入内存是区块对齐大小
DWORD FileAlignment;
/
/
磁盘上PE文件区块对齐大小
WORD MajorOperatingSystemVersion;
WORD MinorOperatingSystemVersion;
WORD MajorImageVersion;
WORD MinorImageVersion;
WORD MajorSubsystemVersion;
WORD MinorSubsystemVersion;
DWORD Win32VersionValue;
DWORD SizeOfImage;
DWORD SizeOfHeaders;
DWORD CheckSum;
WORD Subsystem;
/
/
标识可执行文件所期望的子系统
WORD DllCharacteristics;
DWORD SizeOfStackReserve;
DWORD SizeOfStackCommit;
DWORD SizeOfHeapReserve;
DWORD SizeOfHeapCommit;
DWORD LoaderFlags;
DWORD NumberOfRvaAndSizes;
/
/
数据目录项数(
16
)
IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
/
/
数据目录表
} IMAGE_OPTIONAL_HEADER32,
*
PIMAGE_OPTIONAL_HEADER32;