PE檔案結構(二) 資料目錄

2021-10-10 03:39:18 字數 2302 閱讀 5151

資料目錄表的具體資訊例項:

資料目錄的各種表的資訊,所代表的含義,以及部分表的說明

typedef

struct _image_data_directory image_data_directory,

*pimage_data_directory;

資料目錄表的結構非常簡單,就只有起始位置和長度大小這兩個引數組成,由此可以知道這個表的開始位置和結束位置,雖然在結構體中沒有指明哪一部分是什麼型別的表,但是在目錄表中的其他表,如匯入表匯出表;是有一定的順序的,類似陣列排列,排列方式以及各個表的作用與含義如下:

// directory entries

// 按順序排列的資料目錄表

#define image_directory_entry_export 0

// export directory 匯出表:動態鏈結庫匯出的函式會顯示在這裡

#define image_directory_entry_import 1

// import directory 匯入表:寫程式時呼叫的動態鏈結庫會顯示在這裡

#define image_directory_entry_resource 2

// resource directory 資源表:,圖示,字串,嵌入的程式都在這裡

#define image_directory_entry_exception 3

// exception directory 異常目錄表:儲存檔案中異常處理相關的資料

#define image_directory_entry_security 4

// security directory 安全目錄:存放數字簽名和安全證書之類的東西

#define image_directory_entry_basereloc 5

// base relocation table 基礎重定位表:儲存需要執行重定位的**偏移

#define image_directory_entry_debug 6

// debug directory 除錯表

#define image_directory_entry_architecture 7

// architecture specific data 快取資訊表:有一些保留字段必須是0

#define image_directory_entry_globalptr 8

// rva of gp 全域性指標偏移目錄

#define image_directory_entry_tls 9

// tls directory 執行緒區域性儲存(暫時未知)

#define image_directory_entry_load_config 10

// load configuration directory 載入配置

#define image_directory_entry_bound_import 11

// bound import directory in headers 儲存一些api的繫結輸入資訊

#define image_directory_entry_iat 12

#define image_directory_entry_delay_import 13

// delay load import descriptors

#define image_directory_entry_com_descriptor 14

// com runtime descriptor com執行時的目錄

//dwrva是某個資料目錄表的virtualaddress

//buffer是讀取到的pe檔案緩衝區

dword rvatooffset

(dword dwrva,

char

* buffer)

// 計算偏移的函式,將rva轉化成偏移

for(

int i =

0; i < pnt->fileheader.numberofsections; i++)}

}

PE檔案結構

pe檔案結構 a,dos header timagedosheader 其中 lfanew 指向 c e magic 為 mz b,dos stub 用於不支援pe的作業系統,顯示錯誤提示如 this program requires windows 不定長 c,pe header timagent...

元資料與PE檔案結構

元資料被儲存在pe檔案的乙個區域,msil則被儲存在pe檔案的另乙個區域。元資料部分包含一系列的表和堆。msil部分則包含il語言和元資料標記,這些元資料標記指向元資料部分的某個表的某行或者指向某個堆。元資料表和堆 元資料表中包含程式的各種資訊,比如,某個表描述程式中的各個類,另外乙個表描述各個類中...

PE檔案頭結構

typedef struct image file header image file header,pimage file header 1.machine 每個cpu都有唯一的machine碼,用來指定檔案的執行平台 define image file machine unknown 0 def...