PE檔案結構(一) MS DOS頭 ,PE頭

2021-10-24 21:17:46 字數 1639 閱讀 1085

ms-dos頭

標準pe頭

擴充套件pe頭

資料目錄

節表各個欄位的含義

第乙個字段(mz標誌位):e_magic 是乙個常量,一般都是0x4d5a

最後乙個字段(pe頭偏移):e_ifanew 指向新的pe頭,偏移量為0x0138

位於0x0138

typedef

struct _image_nt_headers64 image_nt_headers64,

*pimage_nt_headers64;

typedef

struct _image_nt_headers image_nt_headers32,

*pimage_nt_headers32;

分為32位版本和64位版本

各個字段及其含義:

signature:pe檔案標識,0x5045 0000 dword型別,佔四位元組

fileheader:檔案頭

optional header:擴充套件pe頭

typedef

struct _image_file_header image_file_header,

*pimage_file_header;

一共有七個字段,分別為:

machine

執行的平台,可以執行到不同的cpu上,可以用巨集代表,用巨集與值對比可知執行平台

區段數量

常用區段:

timedatestamp

檔案的建立時間(採用格林尼治時間)

pointertosymboltable

指向符號表的乙個指標,現已不常用

numberofsymbols

符號表中符號的數量

sizeofoptionalheader

檔案頭後的擴充套件頭的大小

characteristics

pe檔案的乙個屬性,可以通過計算得到,一般情況下,普通的exe檔案的值為0x010f,普通dll檔案的值為0x0210

常見的pe屬性:

首先了解相關的一些概念:

va: virtual address 虛擬位址,範圍在00000000到fffffff之間 程序的基位址+相對虛擬記憶體位址

rva: reversc virtual address 相對虛擬位址

foa: file offset address 檔案偏移位址,從檔案頭計算的位址

PE頭結構學習 PE頭移位

剛開始學pe結構的時候,是為了搞 xx的,那時瑞星和江民還有希望,那時卡飯論壇還常駐各個防毒軟體廠商的工程師,想想還有些懷念,初中基本啥也不懂,就上論壇看別人是怎麼搞的,有一次看到乙個免殺技術叫pe頭移位,後來這個技術也用了蠻久。剛好現在上了作業系統這門課,作業就是要研究下pe結構,所以就以pe頭移...

PE檔案結構 NT頭學習

pe檔案基本結構如下 學習一下nt頭 nt頭,包含乙個4位元組的signature,以及兩個結構體image file header 檔案頭 和image optional header 擴充套件頭 nt頭 signature,檔案頭,擴充套件頭 其定義如下 這個是微軟定義的 typedef str...

PE檔案結構(一)

pe portable execute 檔案是windows下可執行檔案的總稱,常見的有dll,exe,ocx,sys等,事實上,乙個檔案是否是pe檔案與其副檔名無關,pe檔案可以是任何副檔名。pe檔案是指32位可執行檔案,也稱pe32。64位可執行檔案稱為pe 或pe32 是pe pe32 的一種...