ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

扩展PE头

2021-12-16 23:03:58  阅读:222  来源: 互联网

标签:DLLCHARACTERISTICS WORD 版本号 IMAGE 扩展 PE DWORD


扩展PE头


PE头结构体

typedef struct _IMAGE_NT_HEADERS {
    DWORD Signature;							//PE头标识
    IMAGE_FILE_HEADER FileHeader;				//标准PE头
    IMAGE_OPTIONAL_HEADER32 OptionalHeader;		//扩展PE头
} IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32;

IMAGE_OPTIONAL_HEADER32 OptionalHeader 扩展PE头中的结构体成员

typedef struct _IMAGE_OPTIONAL_HEADER {
    //
    // Standard fields.
    //

    WORD    Magic;								//PE32:10B	PE32+:20B
    BYTE    MajorLinkerVersion;					//链接器版本号
    BYTE    MinorLinkerVersion;					//链接器版本号
    DWORD   SizeOfCode;							//所有代码节的总和(文件对齐后的大小 *编译器填写无实际作用)
    DWORD   SizeOfInitializedData;				//包含所有已经初始化数据的节的部大小(文件对齐后的大小 *编译器填写无实际作用)
    DWORD   SizeOfUninitializedData;			//包含未初始化数据的节的总大小(文件对齐后的大小 *编译器填写无实际作用)
    DWORD   AddressOfEntryPoint;				//程序入口
    DWORD   BaseOfCode;							//代码开始的基地(*编译器填写无实际作用)
    DWORD   BaseOfData;							//数据开始的基地(*编译器填写无实际作用)

    //
    // NT additional fields.
    //

    DWORD   ImageBase;							//内存镜像基地
    DWORD   SectionAlignment;					//内存对齐
    DWORD   FileAlignment;						//文件对齐
    WORD    MajorOperatingSystemVersion;		//标识操作系统版本号(主版本号)
    WORD    MinorOperatingSystemVersion;		//标识操作系统版本号(次版本号)
    WORD    MajorImageVersion;					//PE文件自身的版本号
    WORD    MinorImageVersion;					//PE文件自身的版本号
    WORD    MajorSubsystemVersion;				//运行所所需子系统版本号
    WORD    MinorSubsystemVersion;				//运行所所需子系统版本号
    DWORD   Win32VersionValue;					//子系统版本的值,必须为0
    DWORD   SizeOfImage;						//内存中整个PE文件的映射的尺寸,可比实际的值大,必须是SectionAlignment的整数倍
    DWORD   SizeOfHeaders;						//所有头+节表按照文件对齐后的大小,否则加载会出错
    DWORD   CheckSum;							//核验和,一些系统文件有要求,用来判断文件是否被修改
    WORD    Subsystem;							//子系统 (驱动程序1 图形界面2 控制台,DLL3 )
    WORD    DllCharacteristics;					//文件特性 不是针对DLL文件的
    DWORD   SizeOfStackReserve;					//初始化时保留的栈大小
    DWORD   SizeOfStackCommit;					//初始化时实际提交的大小
    DWORD   SizeOfHeapReserve;					//初始化时保留的堆大小
    DWORD   SizeOfHeapCommit;					//初始化时实践提交的大小
    DWORD   LoaderFlags;						//调试相关
    DWORD   NumberOfRvaAndSizes;				//目录项数目
    IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
} IMAGE_OPTIONAL_HEADER32, *PIMAGE_OPTIONAL_HEADER32;

WORD DllCharacteristics 文件值的含义

0															//保留,必须为0
1															//保留,必须为0
2															//保留,必须为0
3															//保留,必须为0
6	IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE					//DLL可以在加载时被重定位
7	IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY				//强制代码实施完整性验证
8	IMAGE_DLLCHARACTERISTICS_NX_COMPAT						//该映像兼容DEP
9	IMAGE_DLLCHARACTERISTICS_NO_ISOLATION					//可以隔离,但并不隔离此映像
10	IMAGE_DLLCHARACTERISTICS_NO_SEH							//映像不使用ESH(第10章)
11	IMAGE_DLLCHARACTERISTICS_NO_BIND						//不绑定映像
12															//保留,必须为0
13	IMAGE_DLLCHARACTERISTICS_WDM_DRIVER						//该映像为一个WDM driver
14															//保留,必须为0
15	IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVEr_AWARE			//可用于终端服务器

标签:DLLCHARACTERISTICS,WORD,版本号,IMAGE,扩展,PE,DWORD
来源: https://blog.csdn.net/weixin_43754657/article/details/121983070

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有