加载配置信息

时间:2022-01-08 08:17:13

1.简介

用于存放基于结构化异常处理的各种异常句柄. 当程序运行发生异常后,os会根据异常类别对异常进行分发处理.

如果PE中该部分没有对应的异常类别处理函数句柄,os将会调用其内核模式的异常分发函数终止程序运行. 

 

2.定位

位于数据目录的第11个条目

 

3.解析其数据结构

typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY32 {
DWORD Size;            //该结构大小
DWORD TimeDateStamp;     
WORD MajorVersion;
WORD MinorVersion;
DWORD GlobalFlagsClear;    //pe加载器加载该映像时需要清除的标记
DWORD GlobalFlagsSet;      //pe加载器加载它时需要清除的标记
DWORD CriticalSectionDefaultTimeout;  //
DWORD DeCommitFreeBlockThreshold;
DWORD DeCommitTotalFreeThreshold;
DWORD LockPrefixTable;
// VA指向一个地址列表,保存的是lock前缀的指令的地址
DWORD MaximumAllocationSize;      //最大分配粒度
DWORD VirtualMemoryThreshold;      //最大虚拟内存大小
DWORD ProcessHeapFlags;      //作为创建默认堆的HeapCreate的第一个参数
DWORD ProcessAffinityMask;    
WORD CSDVersion;
WORD Reserved1;
DWORD EditList;
// VA
DWORD SecurityCookie; // VA 指向GS的安全cookie
DWORD SEHandlerTable; // VA与平台相关, 指向一个地址列表,保存的是SEhandler
DWORD SEHandlerCount;            // sehandler的数量
DWORD GuardCFCheckFunctionPointer;
// VA
DWORD Reserved2;
DWORD GuardCFFunctionTable;
// VA
DWORD GuardCFFunctionCount;
DWORD GuardFlags;
} IMAGE_LOAD_CONFIG_DIRECTORY32,
*PIMAGE_LOAD_CONFIG_DIRECTORY32;

 

例如:windows的calc.exe

加载配置信息