筆者在某安全公司實習,第一天被要求了解pe結構,好吧,因為基礎不紮實,經過一天的時間了解的啥都不是,,,受到了導師的特殊關照,推薦了我一本沒推薦給別人的書--windows32位匯程式設計序(羅雲彬著)嘿嘿,匿名感謝導師,,,清明三天的pe之旅。
1.1pe檔案的結構
pe就是在windows下最常用的可執行檔案格式,在pe檔案中**,已經初始化的資料,資源和重定位資訊等資料被按照屬性分類放在不同的section(簡稱節)中,每個節的屬性和位置等資訊用乙個image_section_header結構來描述,所有的image_section_header結構組成乙個節表(section table),節表資料在pe檔案中被放在所有節資料的前面,由於資料是按照屬性在節中放置的,不同用途但是屬性相同的資料(如匯入表,匯出表等吧。。。可能被放在同乙個節中),所以pe結構還用一系列的資料目錄結構image_data_directory來分別來指明這些資料的位置。
資料目錄表和其他描述檔案屬性的資料合在一起稱為pe標頭檔案,pe標頭檔案被放置在節和節表的前面,
為了與dos系統的檔案格式相容又加上了包括image_dos_header結構和dos stub的dos部分
由以上共同組成了pe檔案,結構如表所示
4.節資料
。。。由不同屬性資料組成的不同節
檔案尾部||
||||
||||
||檔案頭部
.reloc
.rsrc
.data
.text
3.節表
n x image_section_header 結構
順序排列的節表
2.pe標頭檔案
16 x image_data_directory 結構
資料目錄列表
image_optional_header 結構
image_nt_header
image_file_header 結構
pe檔案表頭
「pe」,0,0
pe檔案頭標誌
1.dos標頭檔案
dos stub
dos塊
image_dos_header結構
dos mz標頭檔案
下面開始分塊做筆記了
PE檔案詳解
pe 檔案是一種格式 dos頭 pe頭 區塊 這些組成了pe檔案 傳送門 c 解析dos頭和nt頭 指某一種格式的檔案,可執行檔案 exe 動態鏈結庫 dll 驅動檔案 sys 都是pe檔案格式 dos頭部 為了相容dos程式設計 nt頭部 儲存pe檔案的全部屬性,初始資訊化等 區段頭表 對於pe檔...
PE檔案詳解之PE檔案頭
1,pe檔案頭 pe header 緊挨著 dos stub 2,pe header 是pe相關結構nt映像頭 image nt header 的簡稱。裡面包含著許多pe裝載器用到的重要字段。3,執行體在支援pe檔案結構的作業系統中執行時,pe裝載器將從 image dos header 結構中的 ...
PE檔案詳解之PE檔案頭
1,pe檔案頭 pe header 緊挨著 dos stub 2,pe header 是pe相關結構nt映像頭 image nt header 的簡稱。裡面包含著許多pe裝載器用到的重要字段。3,執行體在支援pe檔案結構的作業系統中執行時,pe裝載器將從 image dos header 結構中的 ...