PE文件的装载过程(2)

上一篇讲到PE load程序已经找到了PE文件头,PE文件头的定义如下所示:

 

IMAGE_NT_HEADERS STRUCT

  Signature DWORD 
?  ;PE文件标识

  FileHeader IMAGE_FILE_HEADER 
<>

  OptionalHeader IMAGE_OPTIONAL_HEADER32 
<>

IMAGE_NT_HEADERS ENDS

Signature为PE文件标识,其值始终为00004550h,查ASCII表可以知道45h代表字符E,50h代表字符P。紧接着PE文件标识的是IMAGE_FILE_HEADER结构,这是一个20个字节的结构,其定义如下:

 

ContractedBlock.gif ExpandedBlockStart.gif Code
IMAGE_FILE_HEADER STRUCT
  Machine WORD 
? ;运行平台
  NumberOfSections WORD 
? ; 文件的节数目
  TimeDateStamp DWORD 
? ; 文件创建日期和时间,它的数值是从
                              1969年12月31日下午4:00开始到创
                               建时间为止的总秒数
  PointerToSymbolTable DWORD 
? ; 指向符号表(用于调试)
  NumberOfSymbols DWORD 
? ; 符号表中的符号数量(用于调试)
  SizeOfOptionalHeader WORD 
? ;IMAGE_OPTIONAL_HEADER32
                                结构的长度
  Characteristics WORD 
? ; 文件属性
IMAGE_FILE_HEADER ENDS

各个字段的意义如注释所示,其中元素SizeOfOptionalHeader的值始终为e0h,表示可选头的大小,e0h换算成十进制表示224,即可选头的大小始终为224个字节。

 

转载于:https://www.cnblogs.com/feiyucq/archive/2009/05/29/1491763.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值