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文件的執行順序。
?
轉載于:https://www.cnblogs.com/chuxinbubian/p/10877815.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
- 上一篇: T^TOJ - 1251 - 。◕‿◕。
- 下一篇: 三. python面向对象(私有属性和私