您的位置:首页 > 运维架构

PE总结6---PE文件结构NT头之扩展头--IMAGE_OPTIONAL_HEADER

2015-12-09 08:44 459 查看
IMAGE_OPTIONAL_HEADER结构,如下:

typedef struct _IMAGE_OPTIONAL_HEADER
{
//
// Standard fields.
//
WORD    Magic;				// 标志字, ROM 映像(0107h),普通可执行文件(010Bh)
BYTE    MajorLinkerVersion;		// 链接程序的主版本号
BYTE    MinorLinkerVersion;		// 链接程序的次版本号
DWORD   SizeOfCode;			// 所有含代码的节的总大小
DWORD   SizeOfInitializedData;      	// 所有含已初始化数据的节的总大小
DWORD   SizeOfUninitializedData;    	// 所有含未初始化数据的节的大小
DWORD   AddressOfEntryPoint;		// 程序执行入口RVA
DWORD   BaseOfCode;			// 代码的区块的起始RVA
DWORD   BaseOfData;			// 数据的区块的起始RVA
//
// NT additional fields.    以下是属于NT结构增加的领域。
//
DWORD   ImageBase;			// 程序的首选装载地址
DWORD   SectionAlignment;		// 内存中的区块的对齐大小
DWORD   FileAlignment;			// 文件中的区块的对齐大小
WORD    MajorOperatingSystemVersion;	// 要求操作系统最低版本号的主版本号
WORD    MinorOperatingSystemVersion;	// 要求操作系统最低版本号的副版本号
WORD    MajorImageVersion;		// 可运行于操作系统的主版本号
WORD    MinorImageVersion;		// 可运行于操作系统的次版本号
WORD    MajorSubsystemVersion;		// 要求最低子系统版本的主版本号
WORD    MinorSubsystemVersion;		// 要求最低子系统版本的次版本号
DWORD   Win32VersionValue;		// 莫须有字段,不被病毒利用的话一般为0
DWORD   SizeOfImage;			// 映像装入内存后的总尺寸
DWORD   SizeOfHeaders;			// 所有头+ 区块表的尺寸大小
DWORD   CheckSum;			// 映像的校检和
WORD    Subsystem;			// 可执行文件期望的子系统
WORD    DllCharacteristics;		// DllMain()函数何时被调用,默认为0
DWORD   SizeOfStackReserve;		// 初始化时的栈大小
DWORD   SizeOfStackCommit;		// 初始化时实际提交的栈大小
DWORD   SizeOfHeapReserve;		// 初始化时保留的堆大小
DWORD   SizeOfHeapCommit;		// 初始化时实际提交的堆大小
DWORD   LoaderFlags;			// 与调试有关,默认为0
DWORD   NumberOfRvaAndSizes;		// 下边数据目录的项数,这个字段自Windows NT 发布以来        // 一直是16
IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
// 数据目录表
} IMAGE_OPTIONAL_HEADER32, *PIMAGE_OPTIONAL_HEADER32;


一共31个字段成员,

11个没用的

7个重要的:

RVA也叫作OEP(7)

默认加载基址(10)Image Base

内存对齐(11) 一般是0x1000

文件对齐(12)一般是0x200

把文件加载进内存,所需要的内存大小(20)

所有头部大小(21)

数据目录的个数(30)

1个极度重要的:数据目录表(31)

IMAGE_NUMBEROF_DIRECTORY_ENTRIES------0X10-----一般情况下有16个数据目录,扩展头的大小一般为0xE0

在010Editor中,文件头显示信息,如下:



在LoadPE工具中,文件头显示信息,如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: