PE文件解析-加载配置表、绑定导入表、导入地址表与延迟导入表

一、加载配置表

1.位置与简介

    载入配置表早期是用于描述当PE文件头或PE可选头无法描述或者因为太大而无法描述的各种功能。
    后来以XP及以后的系统主要是为了存储SEH句柄,称为安全结构化异常处理程序列表,如果SEH异常处理没有经过注册,在载入配置表中没有句柄,这个异常处理就不会被执行。
    据微软官方说明,这个载入配置表的作用是为了防止“x86异常处理程序劫持”的漏洞。因为年代久远就无从考据了。

    PE文件头可选映像头中数据目录表的第11成员IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG]指向加载配置表。

2.数据结构

    加载配置表起始于IMAGE_LOAD_CONFIG_DIRECTORY,它的定义如下:

typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY {
    DWORD   Characteristics;              //属性,当前没使用
    DWORD   TimeDateStamp;                //(GMT时间)
    WORD    MajorVersion;                 //主版本号
    WORD    MinorVersion;                 //子版本号
    DWORD   GlobalFlagsClear;             //启动时清除全局标志
    DWORD   GlobalFlagsSet;               //启动时设置全局标志
    DWORD   CriticalSectionDefaultTimeout;//程序关键部分默认超时值
    DWORD   DeCommitFreeBlockThreshold;   //返回系统前必须释
  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值