PE檔案之DOS頭

2021-06-26 13:44:10 字數 1542 閱讀 8282

微軟為了照顧相容性,在以後的pe檔案中也加入了dos頭

在dos頭有兩個部分

1 dos mz頭

結構體為

image_dos_header struct

+0h word e_magic    // magic dos signature mz(4dh5ah)     dos可執行檔案標記

+2h   word e_cblp    // bytes on last pageof file

+4h word e_cp    // pages in file

+6h word e_crlc    // relocations

+8h word e_cparhdr   // size of header in paragraphs

+0ah word e_minalloc   // minimun extra paragraphsneeds

+0ch word e_maxalloc  // maximun extra paragraphsneeds

+0eh word e_ss            //intial(relative)ss value        dos**的初始化堆疊ss

+10h word e_sp     // intial sp value                      dos**的初始化堆疊指標sp

+12h word e_csum     // checksum

+14h word e_ip     // intial ip value              dos**的初始化指令入口[指標ip]

+16h word e_cs     // intial(relative)csvalue         dos**的初始堆疊入口

+18h word e_lfarlc     // file address ofrelocation table

+1ah word e_ovno         // overlaynumber

+1ch word e_res[4]      // reservedwords

+24h word e_oemid      // oem identifier(fore_oeminfo)

+26h word      e_oeminfo   // oeminformation;e_oemid specific

+29h word e_res2[10]   // reserved words

+3ch dword   e_lfanew     //  offset tostart of pe header      指向pe檔案頭

} image_dos_header ends

其中比較重要的是

e_magic     是dos頭的標誌  是:「mz」

還有就是 e_ifanew    pe頭相對於檔案的偏移位址

這個還是挺重要的,是pe頭的入口位址

接下來到e_ifanew所指的位址部分都是 dos stup

也就是dos檔案的執行**,現在16位的程式已經很少出現了,有興趣的可以再cmd的debug下改一下**,嘗試一下,也挺好玩的

PE檔案結構(一) MS DOS頭 ,PE頭

ms dos頭 標準pe頭 擴充套件pe頭 資料目錄 節表各個欄位的含義 第乙個字段 mz標誌位 e magic 是乙個常量,一般都是0x4d5a 最後乙個字段 pe頭偏移 e ifanew 指向新的pe頭,偏移量為0x0138 位於0x0138 typedef struct image nt he...

PE檔案學習 Dos頭部

pe portable executeable file format 可移植的執行文體格式,我們平時常見的exe dll sys等都是pe檔案的一種。pe檔案的組成可以被分為pe head和pe body,我們先從pe檔案頭的dos頭部說起。dos頭部分為兩部分 第一部分是dos mz頭第二部分是...

PE檔案的基本結構 1 總體介紹和dos頭

1 概論 看歷史 com檔案,exe檔案,le格式的可執行檔案 linear executable 線性可執行檔案 windows 9x中的vxd驅動程式也使用le格式,因為這些驅動程式中也同時包括16位和32位 而在windows 9x,windows nt,windows 2000下,純32位的...