DOS头 IMAGE_DOS_HEADER

 1 IMAGE_DOS_HEADER STRUCT
 2 {
 3 +0h WORD e_magic    // Magic DOS signature MZ(4Dh 5Ah)     DOS可执行文件标记
 4 +2h WORD e_cblp    // Bytes on last page of file
 5 +4h WORD e_cp    // Pages in file
 6 +6h WORD e_crlc    // Relocations
 7 +8h WORD e_cparhdr   // Size of header in paragraphs
 8 +0ah WORD e_minalloc   // Minimun extra paragraphs needs
 9 +0ch WORD e_maxalloc  // Maximun extra paragraphs needs
10 +0eh WORD e_ss            // intial(relative)SS value        DOS代码的初始化堆栈SS
11 +10h WORD e_sp     // intial SP value                       DOS代码的初始化堆栈指针SP
12 +12h WORD e_csum     // Checksum
13 +14h WORD e_ip     // intial IP value               DOS代码的初始化指令入口[指针IP]
14 +16h WORD e_cs     // intial(relative)CS value         DOS代码的初始堆栈入口
15 +18h WORD e_lfarlc     // File Address of relocation table
16 +1ah WORD e_ovno         // Overlay number
17 +1ch WORD e_res[4]      // Reserved words
18 +24h WORD e_oemid      // OEM identifier(for e_oeminfo)
19 +26h WORD      e_oeminfo   // OEM information;e_oemid specific
20 +29h WORD e_res2[10]   // Reserved words
21 +3ch DWORD   e_lfanew     //  Offset to start of PE header      指向PE文件头
22 } IMAGE_DOS_HEADER ENDS
23
24
25
26 e_magic:一个WORD类型,值是一个常数0x4D5A,用文本编辑器查看该值位‘MZ’,可执行文件必须都是‘MZ‘开头。
27 e_lfanew:为32位可执行文件扩展的域,用来表示DOS头之后的NT头相对文件起始地址的偏移。
时间: 2024-11-05 22:44:06

DOS头 IMAGE_DOS_HEADER的相关文章

DOS头结构

DOS头结构typedef struct _IMAGE_DOS_HEADER {                 // DOS .EXE header   +0h WORD   e_magic;                          // *****DOS可执行文件标记*****   +2h WORD   e_cblp;                      // Bytes on last page of file   +4h WORD   e_cp;             

win32下PE文件分析之DOS头

(一).win32下的PE文件: PE是Portable Execute的缩写,是可移植可执行的意思,只要文件的数据结构遵循PE结构,就属于PE文件,windows中常见的PE文件有 *.sys驱动类文件 *.dll动态链接库文件 *.exe可执行文件 *.ocx对象类别扩充组建 *.obj目标文件等. 同样,linux中使用的是ELF格式,和windows的PE格式有一定的差别,如: 可重定位文件*.o 可执行文件如/bin/ls等 共享目标文件*.so 核心转储文件core 都遵循ELF数据

PE笔记之DOS头

IMAGE_DOS_HEADER STRUCT { +0h WORD e_magic    // Magic DOS signature MZ(4Dh 5Ah)     DOS可执行文件标记 +2h   WORD e_cblp    // Bytes on last page of file +4h WORD e_cp    // Pages in file +6h WORD e_crlc    // Relocations +8h WORD e_cparhdr   // Size of hea

PE 学习之路 —— DOS 头、NT 头

1. 前述 可执行文件的格式是操作系统本身执行机制的反映,理解它有助于对操作系统的深刻理解,掌握可执行文件的数据结构及其一些机理,是研究软件安全的必修课.`PE(Portable Executable File Format)`是目前 windows 平台上的主流可执行文件格式.PE 文件衍生于早期的 COFF 文件格式,描述 PE 格式及 COFF 文件的主要地方在 winnt.h 这个头文件,其中有一节叫 Image Format,如下: 该节给出了 DOS MZ 格式和 windows 3

PE文件介绍 (2)-DOS头,DOS存根,NT头

PE头 PE头由许多结构体组成,现在开始逐一学习各结构体 0X00 DOS头 微软创建PE文件格式时,人们正广泛使用DOS文件,所以微软充分考虑了PE文件对DOS文件的兼容性.其结果是在PE头的最前面添加一个 IMAGE_DOS_HEADER 结构体用来扩展DOSEXE头 IMAGE_DOS_HEADER typedef struct _IMAGE_DOS_HEADER { WORD e_magic; //DOS签名 4D5A WORD e_cblp; WORD e_cp; WORD e_crl

DOS头属性

DOS头部分分为两个部分: 1.DOS MZ头 2.DOS块 1.DOS MZ头是一个IMAGE_DOS_HEADER结构体,其大小占64个字节 typedef struct _IMAGE_DOS_HEADER { // DOS .EXE header WORD e_magic; // Magic number WORD e_cblp; // Bytes on last page of file WORD e_cp; // Pages in file WORD e_crlc; // Reloca

32位PE文件信息查看器(WIN32控制台)

最近重新撸了一遍PE文件的文件格式,这个程序算是复习的产物吧. 说明与警告: 1.只适用于32位PE文件,可以读取符合标准的32位PE文件的DOS头.NT头.节区头.导入表.导出表信息,想要其他功能请在PEFile类中找,没有请留言 2.因为是边复习功能边写的,所以不要纠结程序架构.编码风格.鲁棒性等各种问题,我会再改的 3.翻译可能是不准的,仅供参考 4.所有计数从0开始,程序不对是否越界进行检查 5.转载请注明出处,本人不对引用此源码后程序产生的任何问题负责 单独的PEFile类 class

010Edit手写PE

前言PE结构DOS头IMAGE_DOS_HEADERPE头介绍总大小[248字节]结构体含义标记(4字节)0x4550文件头(20字节)扩展头(224字节)为程序添加ExitProcess函数 前言 最近,学习了PE知识,为了更深层的掌握PE结构,使用纯手工写一个PE小程序,只弹出一个MessageBox的小程序 内容:Hello World! PE结构 DOS头 IMAGE_DOS_HEADER 每一个PE文件是以一个DOS程序开始的,有了它,一旦程序在DOS下执行,DOS就能识别出这是有效的

PE文件格式学习之PE头移位

以前刚开始学网络安全,是从免杀开始的.记得那时候杀毒软件还很弱.金山江民瑞星还存在. 那会什么原理也不懂,就一直瞎鼓捣.(后来转入渗透行列了) 这段时间一直在学PE格式,突然想起来以前很古老的PE文件头移位. 网上搜了搜,看大家虽然做了视频,但是竟然没人讲原理.借着刚好在学PE格式的知识,就做个PE文件头移位的笔记.(不喜勿喷,刚学PE头文件格式,难免出错请提点,谢谢) 当然现在这种很古老的免杀方式对于杀软来说根本是不堪一击了.纯属做笔记. PE文件的基本结构如图示: IMAGE_DOS_HEA