1、ms-dos mz檔案頭(64個位元組)
定位pe檔案頭開始位置,也用於pe檔案合法性檢測。最後四個位元組(3c處):pe檔案頭開始位置
2、dos stub
一段小的dos程式
3、pe header:由字串(signature)、影像檔案頭(fileheader)、可選映像頭(optionalheader)三部分組成
(1)字串:四個位元組,值為50h,45h,00h,00h (pe\0\0),為pe標記,以此識別給定檔案是否是有效的pe檔案。
(2)映像檔案頭:20個位元組,包含了關於pe檔案物理分布資訊,比如節數目、可選檔案頭大小等
(3)可選檔案頭:定義了pe檔案的很多關鍵資訊
記憶體映象載入位址、程式入口點、節在檔案和記憶體中的對齊粒度、程式在記憶體中的映象大小、檔案頭大小等
幾個概念:
imagebase:pe檔案在記憶體中的優先裝載位址(一般為400000h)
對齊粒度:擴充套件增量的最小值
一些關鍵字段,均為4個位元組:
address of entry point:pe檔案第一條指令的rva,位置d8h
imagebase:位置e4h
sectionalignment:記憶體中節對齊的粒度。位置:e8h
filealignment:檔案中節對齊粒度。位置ech
(4)目錄:16項*8位元組
4、節表:緊挨pe header的乙個結構陣列
5、節:可執行檔案的核心部分
pe檔案一般都有多個「節」,常見:**節、資料節、引入函式節、資源節、引出函式節、重定位節。
PE檔案學習筆記
了解pe檔案是了解windows系統的必經之路。下面把自己學習pe檔案相關知識的方法以及經驗和大家分享,其中前半部分在很大程度上參考了 windows核心程式設計 只是簡單的從中提取出個人認為精煉的分析,並新增一點個人的理解。如果你也想學習windows程式設計,了解windows系統是如何執行的,...
PE檔案學習筆記(3)
the section table 這個字段位於pe 表頭和真正的 section 資料之間,其中內含 image 的 每乙個sections 的資訊。section table 的每一筆資料貯存了乙個位址,在那裡,檔案的原始資料被映像到記憶體。雖然sections 類似 32 位的 segment...
PE檔案學習系列筆記四 C 實現PE檔案的分析
合肥程式設計師群 49313181。合肥實名程式設計師群 128131462 不願透露姓名和資訊者勿加入 q q 408365330 e mail egojit qq.com 綜述 c 實現 首先實現這些如圖程式的功能,其中包括識別是否是pe檔案,其次是給出,pe檔案在磁碟中的對齊尺寸和記憶體中的對...