PE頭欄位說明

2021-10-08 23:45:32 字數 2673 閱讀 8393

建議放大看

未注釋的代表是重點

1、doc頭:										

word e_magic *

"mz標記" 用於判斷是否為可執行檔案.

dword e_lfanew;

* pe頭相對於檔案的偏移,用於定位pe檔案

2、標準pe頭:										

word machine;

* 程式執行的cpu型號:0x0 任何處理器/

0x14c

386及後續處理器

word numberofsections;

* 檔案中存在的節的總數,如果要新增節或者合併節 就要修改這個值.

//dword timedatestamp; * 時間戳:檔案的建立時間(和作業系統的建立時間無關),編譯器填寫的.

//dword pointertosymboltable;

//dword numberofsymbols;

word sizeofoptionalheader;

* 可選pe頭的大小,32位pe檔案預設e0h 64位pe檔案預設為f0h 大小可以自定義.

//word characteristics; * 每個位有不同的含義,可執行檔案值為10f 即0 1 2 3 8位置1

3、可選pe頭:										

word magic;

* 說明檔案型別:10b 32位下的pe檔案 20b 64位下的pe檔案

/* byte majorlinkerversion;

byte minorlinkerversion;

dword sizeofcode;* 所有**節的和,必須是filealignment的整數倍 編譯器填的 沒用

dword sizeofinitializeddata;* 已初始化資料大小的和,必須是filealignment的整數倍 編譯器填的 沒用

dword sizeofuninitializeddata;* 未初始化資料大小的和,必須是filealignment的整數倍 編譯器填的 沒用

*/ dword addressofentrypoint;

* 程式入口

// dword baseofcode;* **開始的基址,編譯器填的 沒用

// dword baseofdata;* 資料開始的基址,編譯器填的 沒用

dword imagebase;

* 記憶體映象基址

dword sectionalignment;

* 記憶體對齊

dword filealignment;

* 檔案對齊

/* word majoroperatingsystemversion;

word minoroperatingsystemversion;

word majorimageversion;

word minorimageversion;

word majorsubsystemversion;

word minorsubsystemversion;

dword win32versionvalue;

*/ dword sizeofimage;

* 記憶體中整個pe檔案的對映的尺寸,可以比實際的值大,但必須是sectionalignment的整數倍

dword sizeofheaders;

* 所有頭+節表按照檔案對齊後的大小,否則載入會出錯

/* dword checksum;* 校驗和,一些系統檔案有要求.用來判斷檔案是否被修改.

word subsystem;

word dllcharacteristics;

dword sizeofstackreserve;* 初始化時保留的堆疊大小

dword sizeofstackcommit;* 初始化時實際提交的大小

dword sizeofheapreserve;* 初始化時保留的堆大小

dword sizeofheapcommit;* 初始化時實踐提交的大小

dword loaderflags;

*/ dword numberofrvaandsizes;

* 目錄項數目

2021 01 12 標準PE頭屬性說明

typedef struct image nt headers image nt headers32,pimage nt headers32 成員 大小 十進位制 signature 4位元組image file header 20位元組 image optional header32 224位元組...

2021 01 13 擴充套件PE頭屬性說明

32位和64位pe頭結構體有點差異,但是差異不是很大。typedef struct image nt headers image nt headers32,pimage nt headers32 typedef struct image nt headers64 image nt headers64...

PE頭結構學習 PE頭移位

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