标签: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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。