C/C++ 您当前所在位置:首页 > C/C++ > PE结构关键字段说明

PE结构关键字段说明

陈成 陈成 2020-07-19 12:17:36 C/C++ 158人已围观

简介 exe程序结构说明。

一、DOS头

1.e_magic

长度:word

说明:“MZ标记”,MZ是一个人的名字,是DOS系统开发人员中的一个。

2.e_lfanew

长度:dword

说明:从文件开始计算定位PE开始的地方。

二、标准PE头

1.Machine

长度:word

说明:程序运行的CPU型号,0x0,任何处理器,如果是0x14C,则386及后续处理器。

2.NumberOfSections

长度:word

说明:文件中节的总数。

3.TimeDateStamp

长度:dword

说明:时间戳,编译器生成。

4.PointerToSymbolTable

长度:dword

5.NumberOfSymbols

长度:dword

6.SizeOfOptionalHeader

长度:word

说明:可选PE头的大小,32位PE文件默认E0h 64位PE文件默认为F0h  大小可以自定义。

7.Characteristics

长度:word

说明:这是两个字节拼在一起的结果,每个位都有不同的含义,可查询相关资料。

三、可选PE头

1.Magic

长度:word

说明:说明文件类型:10B是32位下的PE文件,20B是64位下的PE文件。

2.MajorLinkerVersion

长度:byte

3.MinorLinkerVersion

长度:byte

4.SizeOfCode

长度:dword

说明:所有代码节的和,必须是FileAlignment的整数倍 编译器填的,没啥用,改了没啥影响。

5.SizeOfInitializedData

长度:dword

说明:已初始化数据大小的和,必须是FileAlignment的整数倍 编译器填的,没啥用,改了没啥影响。

6.SizeOfUninitializedData

长度:dword

说明:未初始化数据大小的和,必须是FileAlignment的整数倍 编译器填的,没啥用,改了没啥影响。

7.AddressOfEntryPoint

长度:dword

说明:程序的入口,但真正的入口还要加上内存镜像基址。

8.BaseOfCode

长度:dword

说明:代码开始的基址,编译器填的,没啥用。

9.BaseOfData

长度:dword

说明:数据开始的基址,编译器填的,没啥用。

10.ImageBase

长度:dword

说明:内存镜像基址。

11.SectionAlignment

长度:dword

说明:内存对齐。

12.FileAlignment

长度:dword

说明:文件对齐。

13.MajorOperatingSystemVersion

长度:word

14.MinorOperatingSystemVersion

长度:word

15.MajorImageVersion

长度:word

16.MinorImageVersion

长度:word

17.MajorSubsystemVersion

长度:word

18.MinorSubsystemVersion

长度:word

19.Win32VersionValue

长度:dword

20.SizeOfImage

长度:dword

说明:内存中整个PE文件的映射(也就是拉伸后)的尺寸,可以比实际的值大,但必须是SectionAlignment的整数倍。

21.SizeOfHeaders

长度:dword

说明:所有头+节表按照文件对齐后的大小,否则加载会出错。

22.CheckSum

长度:dword

说明:校验和,一些系统文件有要求,用来判断文件是否被修改。校验方法是将里面两个字节两个字节相加,结果放到这里面,放不下的自然溢出。

23.Subsystem

长度:word

24.DllCharacteristics

长度:word

25.SizeOfStackReserve

长度:dword

说明:初始化时保留的堆栈大小 。

26.SizeOfStackCommit

长度:dword

说明:初始化时实际提交的大小 。

27.SizeOfHeapReserve

长度:dword

说明:初始化时保留的堆大小 。

28.SizeOfHeapCommit

长度:dword

说明:初始化时实践提交的大小 。

29.LoaderFlags

长度:dword

30.NumberOfRvaAndSizes

长度:dword

说明:目录项数目。

红色部分是一定要记住的,其他的大概去了解一下就行了。

文章评论

发送

站点信息

  • 上线时间:2020年05月30日
  • 网站程序:自建框架
  • 博客模板:今夕何夕
  • 文章统计43篇文章
  • 评论统计0条评论
  • 留言统计0条留言
  • 统计数据:百度统计