PE复习笔记2 PE头解析之NT头
1.NT头是什么?{:10_248:}Nt头结构如上, Nt头包括FILE 文件头和OPOTION头,这两个头中存储这PE的所有信息
Signature : PE 标志(4550)
FileHeader : 文件PE头
OptionalHeader : 可选PE头
Signature 的作用在于可以让我们判断当前文件是否为PE文件,DOS头中的e_magic用于判断是否是Windows可执行文件{:10_267:}
上图
2.FileHeader
FileHeader的大小一般为20字节, 接下来让我们分析其中重要的属性。
Machine : 程序运行的CPU型号(0x0任何处理器, 0x14C 80386以及后续处理器,等等)
NumberOfSections : 除了DOC头, FILE头,OPTION头以外, 文件中存在的节的总数, 如果要新增节或者合并节,就要修改这个值
TimeDateStamp : 时间戳(文件创建时间),由编译器填写
SizeOfOptionalHeader : 可选PE头的大小, 32位PE文件默认E0h, 64位PE文件默认为F0h, 大小可以自定义
Characteristics : 属性, 每个位有不同的含义, WORD 两个字节总共16位,如可执行文件值位20F, 即0 1 2 3 8 位置为1, 如图:
3.可选PE头
可选头紧跟在FILE头后面, 如图,一样选择其中比较重要的属性讲解{:10_242:}
Magic : 说明PE文件类型(10B 32位下的PE文件,20B 64位下的PE文件)
AddressOfEntryPoint (OEP): 程序入口
ImageBase : 内存镜像基址
SectionAlignment : 内存中的对齐大小(一般0x1000h)
FileAlignment : 文件对齐(0x200h 或 0x1000h)
SizeOfImage : 内存中整个PE文件的映射的尺寸,可以比实际值大,但必须是SectionAlignment的整数倍
SizeOfHeaders : 所有头和节表按照文件对气候的大小,必须否则加载会出错
CheckSum : 校验和,一些系统文件有要求,用来判断文件是否被修改
今天先讲解NT头的属性,PE就是如此记得东西多,但是一旦记下来,会非常方便后续PE的一些操作的!
最后献上PE的结构图
感谢{:10_256:}
页:
[1]