WinPE基礎知識之匯入表

2022-06-02 18:21:09 字數 980 閱讀 8386

//

匯入表 (結構體陣列,以乙個全零元素為結尾,每乙個陣列元素,代表乙個pe檔案匯入資訊)

//匯入表儲存的是從其它pe檔案匯入過來的函式名、序號,載入到記憶體之後,還儲存這些函式的位址

typedef struct

_image_import_descriptor dummyunionname;

dword timedatestamp;

//時間戳

dword forwarderchain; //

鍊錶的前乙個結構

dword name; //

(有用)指向鍊錶庫名字的指標(rva)

dword firstthunk; //

(重要)指向乙個結構體陣列的相對虛擬位址(rva),即iat

} image_import_descriptor;

//int與iat所指的資料型別(結構體陣列 以全零為結尾)

//在磁碟檔案中他們儲存的資料是相同的,在載入到記憶體後,載入器把相應pe檔案的函式位址覆蓋到這裡

//在磁碟檔案中,起作用的只有後面兩個成員

//這個結構佔據四個位元組,假如最高位為1,那麼序號匯入起作用,假如最高位為0,那麼是最後乙個成員起作用

//判斷最高位是否為1使用系統提供的巨集image_snap_by_ordinal(),引數就是這個結構體

typedef struct

_image_thunk_data32 u1;

} image_thunk_data32;

//上面結構體addressofdata 指向的結構體

typedef struct

_image_import_by_name image_import_by_name, *pimage_import_by_name;

WinPE基礎知識之匯出表

匯出的東西包括函式 變數 類 位址,序號,函式 變數 類 名 typedef struct image export directory image export directory,pimage export directory a 匯出表應該被安排在.edata中,不過這個段一般都會合併到.rd...

WinPE基礎知識之重定位表

typedef struct image base relocation image base relocation typedef image base relocation unaligned pimage base relocation 1 當重定位發生的時候,只需知道現在pe檔案的載入基址,...

WinPE基礎知識之頭部

1 dos頭 dos mz頭,大小為64個位元組 typedef struct image dos header image dos header,pimage dos header dos mz頭下面是dos stub,整個dos stub是乙個位元組快,其內容隨著鏈結時使用的鏈結器不同而不同,而...