pe結構詳解
1.序言:
從某種意義上來講,可執行檔案的格式是作業系統本身執行機制的反應。
雖然研究可執行檔案格式並不是程式設計師的首要任務,但這又處於對作業系統的理解。
2.必備知識:
exe檔案 dll檔案都是用完全相同的pe格式, 唯一的不同就是用乙個字段表示這個檔案是exe 檔案還是dll檔案(exe檔案雙擊就能開啟, dll檔案是動態鏈結庫,需要exe檔案呼叫)
pe格式定義的主要地方位於我們的標頭檔案winnt.h。
第二講
每乙個pe檔案都是以乙個dos程式開始的,這樣,一旦程式在dos下執行,dos才能識別出這是有效的執行體。
pe檔案的第乙個位元組起始於乙個傳統的ms-dos頭部,被稱作為image_dos_header, 這其實是乙個結構。
image_dos_header結構講解:
typedef struct _image_dos_header image_dos_header, *pimage_dos_header;
重點講解(第乙個跟最後乙個
e_magic //majic dos signature(4dh 5ah)
dos可執行檔案標記
一般存放兩個位元組 4d 和 5a
e_lfanew //offset to start of pe header
指向pe檔案頭的32位指標
pe檔案頭(pe header) 緊挨著dos stub
pe header是pe相關結構nt映像頭(image_nt_header)的簡稱,裡面包含著許多pe裝載器用到的重要字段
歡迎使用CSDN markdow
本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...
歡迎毛毛與妞妞使用CSDN markdown編輯器
建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...
歡迎使用CSDN markdow1n編輯器
本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...