软件安全学习笔记(7):PE文件总体格式

1、MS-DOS MZ文件头(64个字节)

定位PE文件头开始位置,也用于PE文件合法性检测。最后四个字节(3C处):PE文件头开始位置


2、DOS Stub

一段小的DOS程序


3、PE header:由字串(Signature)、影像文件头(FileHeader)、可选映像头(OptionalHeader)三部分组成

(1)字串:四个字节,值为50h,45h,00h,00h (PE\0\0),为PE标记,以此识别给定文件是否是有效的PE文件。

(2)映像文件头:20个字节,包含了关于PE文件物理分布信息,比如节数目、可选文件头大小等


(3)可选文件头:定义了PE文件的很多关键信息

内存镜像加载地址、程序入口点、节在文件和内存中的对齐粒度、程序在内存中的镜像大小、文件头大小等

几个概念:

ImageBase:PE文件在内存中的优先装载地址(一般为400000H)

RVA地址:相对虚拟地址,相对内存中ImageBase的偏移地址

对齐粒度:扩展增量的最小值


一些关键字段,均为4个字节:

Address of Entry point:PE文件第一条指令的RVA,位置D8H

ImageBase:位置E4H

SectionAlignment:内存中节对齐的粒度。位置:E8H

FileAlignment:文件中节对齐粒度。位置ECH


(4)目录:16项*8字节


4、节表:紧挨PE header的一个结构数组

每一个节对应一个节表项:包含节名、节在文件和内存中的开始地址、长度、节属性


5、节:可执行文件的核心部分

PE文件一般都有多个“节”,常见:代码节、数据节、引入函数节、资源节、引出函数节、重定位节。




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值