上週畢業答辯,沒完成任務,慚愧慚愧。。。。
可選頭的最後一部分是datadirectory欄位,這個字段包含了16個image_data_directory結構,結構的定義如下:
image_data_directory struct
virtualaddress dword
?;資料的起始rva
isize dword
?;資料塊的長度
image_data_directory ends
結構很簡單,16個image_data_directory代表的內容對應如下:
image_directory_entry_export
匯出表image_directory_entry_import
匯入表image_directory_entry_resource
資源image_directory_entry_exception
異常(具體資料不詳)
image_directory_entry_security
安全(具體資料不詳)
image_directory_entry_basereloc
重定位表
image_directory_entry_debug
除錯資訊
image_directory_entry_architecture
版權資訊
image_directory_entry_globalptr
具體資料不詳
image_directory_entry_tls
thread local storage
image_directory_entry_load_config
具體資料不詳
image_directory_entry_bound_import
具體資料不詳
image_directory_entry_iat
匯入函式位址表
image_directory_entry_delay_import
具體資料不詳
image_directory_entry_com_descriptor
具體資料不詳
未使用其中重要的元素有索引值為0、1、5、12的四個,對應的意義如上表所示,在記憶體中尋找相應的節靠的就是以上的16個字段
PE檔案的裝載過程(2)
image nt headers struct signature dword pe檔案標識 fileheader image file header optionalheader image optional header32 image nt headers ends signature為pe檔...
PE檔案的裝載過程(1)
windows下的可執行檔案為pe portable executable file format 可移植的執行體 格式,檔案的組織形式還是比較複雜的,花了大概乙個星期的時間終於稍微弄懂了pe檔案的裝載過程。pe檔案最開始的部分稱為dos頭,存在的作用是為了相容dos下的可執行程式,dos頭的結構如...
PE檔案載入過程揭秘(2)
2011年10月09日 星期日 16 23 自 cvvd 最終編輯 cvvd 圖1pe 載入器在完成檔案實體資料到記憶體虛擬資料的對映之後,便開始從位於 image option header 末端的image data directory 陣列的第 2項 如圖 2 取出輸入表的 rva和大小,準備...