//a:匯出表應該被安排在.edata中,不過這個段一般都會合併到.rdata中。匯出的東西包括函式(變數、類)位址,序號,函式(變數、類)名
typedef struct
_image_export_directory image_export_directory, *pimage_export_directory;
b:有乙個序號基數,通過序號表得到的序號再加上這個序號基數才是真正的函式序號。
(1)序號不是按順序排列的;
(2)序號與函式名是一一對應的,兩個表中相同位置的元素相對應。這也說明了結構體中為什麼沒有序號的數量,因為序號的數量和函式名的數量是一樣的;
(3)序號會有中斷,比如可能會沒有1,有2 ,沒有5,有6,但是這並不代表缺失的這個序號沒有所對應的函式位址;
(4)函式個數會比函式名個數多,多出來的這些函式,可能是用序號匯出的函式,也可能是乙個無效函式,位址填充0;
(5)序號表元素的值,對應著函式位址表的位置,那乙個位置中的函式位址,是這個序號所對應的函式名的函式位址,由此,三個表聯絡起來;
(6)函式位址表中元素,有位址值,但是序號表中沒有序號與之對應,說明這是乙個序號匯出元素,這個序號成為虛序號沒有函式名,它的序號就是它自己在函式位址表中的位置;(當然這個位置加上序號基數,才是它真正的序號)
(7)函式位址表中元素,填充為0,說明這是乙個無效的函式
,也不會有序號與函式名與之對應
舉例函式表中有5、7兩個位置是無效函式;2,3,4,6,8位置是函式名匯出的(要注意函式名的位置與位址表中位址的位置並不相同);1,9是序號匯出的函式,序號就是它本身的位置。
WinPE基礎知識之匯入表
匯入表 結構體陣列,以乙個全零元素為結尾,每乙個陣列元素,代表乙個pe檔案匯入資訊 匯入表儲存的是從其它pe檔案匯入過來的函式名 序號,載入到記憶體之後,還儲存這些函式的位址 typedef struct image import descriptor dummyunionname dword ti...
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是乙個位元組快,其內容隨著鏈結時使用的鏈結器不同而不同,而...