PE檔案的裝載過程(2)

2022-07-13 18:27:10 字數 911 閱讀 5676

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個位元組的結構,其定義如下:

code

image_file_header struct

machine word 

?;執行平台

numberofsections word 

?; 檔案的節數目

timedatestamp dword 

?; 檔案建立日期和時間,它的數值是從

2023年12月31日下午4:00開始到創

建時間為止的總秒數

pointertosymboltable dword 

?; 指向符號表(用於除錯)

numberofsymbols dword 

?; 符號表中的符號數量(用於除錯)

sizeofoptionalheader word 

?;image_optional_header32

結構的長度

characteristics word 

?; 檔案屬性

image_file_header ends

各個欄位的意義如注釋所示,其中元素sizeofoptionalheader的值始終為e0h,表示可選頭的大小,e0h換算成十進位制表示224,即可選頭的大小始終為224個位元組。

PE檔案的裝載過程(4)

上週畢業答辯,沒完成任務,慚愧慚愧。可選頭的最後一部分是datadirectory欄位,這個字段包含了16個image data directory結構,結構的定義如下 image data directory struct virtualaddress dword 資料的起始rva isize d...

PE檔案的裝載過程(1)

windows下的可執行檔案為pe portable executable file format 可移植的執行體 格式,檔案的組織形式還是比較複雜的,花了大概乙個星期的時間終於稍微弄懂了pe檔案的裝載過程。pe檔案最開始的部分稱為dos頭,存在的作用是為了相容dos下的可執行程式,dos頭的結構如...

PE檔案載入過程揭秘(2)

2011年10月09日 星期日 16 23 自 cvvd 最終編輯 cvvd 圖1pe 載入器在完成檔案實體資料到記憶體虛擬資料的對映之後,便開始從位於 image option header 末端的image data directory 陣列的第 2項 如圖 2 取出輸入表的 rva和大小,準備...