PE文件结构

当一个PE文件被执行时,PE装载器首先检查DOS header里面的PE header的偏移量,如果找到就直接跳转到PE header的位置

PE装载器跳转到PE header后,第二步,就是检查PEheader是否是有效的,如果该PE header有效就跳转到PE header的尾部,

紧跟在PE header尾部的是节表,之后就开始读取节表的节段信息,并采用文件映射(在执行一个个PE文件的时候,Windows并不在一开始就将整个文件读入内存,而是采用与内存映射的机机制,也就是说,Windows装载器在装载的时候仅仅建立好虚拟地址和pe文件之间的映射关系,只有真正执行到某个内存页中的指令或者访问某一页中的数据时,这个页面才会被从磁盘提取到物理内存,这种机制使文件装入的速度和文件大小没有太大的关系)这些方法将这些节段映射到内存,同时附上表里指定节段的读写属性

PE文件映射到内存之后,PE装载器将继续处理PE文件中类似import table(输入表)的逻辑部分,以上便是PE文件的执行顺序。

 

posted @ 2019-05-16 20:32  Maggieisxin  阅读(142)  评论(0编辑  收藏  举报