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;                      // Relocations
    WORD   e_cparhdr;                   // Size of header in paragraphs
    WORD   e_minalloc;                  // Minimum extra paragraphs needed
    WORD   e_maxalloc;                  // Maximum extra paragraphs needed
    WORD   e_ss;                        // Initial (relative) SS value
    WORD   e_sp;                        // Initial SP value
    WORD   e_csum;                      // Checksum
    WORD   e_ip;                        // Initial IP value
    WORD   e_cs;                        // Initial (relative) CS value
    WORD   e_lfarlc;                    // File address of relocation table
    WORD   e_ovno;                      // Overlay number
    WORD   e_res[4];                    // Reserved words
    WORD   e_oemid;                     // OEM identifier (for e_oeminfo)
    WORD   e_oeminfo;                   // OEM information; e_oemid specific
    WORD   e_res2[10];                  // Reserved words
    LONG   e_lfanew;                    // 指向PE文件头的位置为中的PE文件头标志的地址
  } IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER;

该结构体是给16位的程序看的,现在的程序都是运行在x32 x64系统上!

但是有两个例外e_magice_lfanew,这两个成员必须存在 并且不可以改

e_magic:WORD类型,操作利用利用这个来进行识别

e_lfanew:LONG类型,指向PE文件头的位置为中的PE文件头标志的地址

在DOS MZ头之中,前两个字节 和 后四个字节不能修改(不是一定不能,如果有能力可以改,而PE结构中都需要进行修改,牵一发动全身),其他都可以任意的修改!



2、DOS块:是链接器来进行填写的,所以没有作用,可以进行任意的修改并且不会影响程序运行!

原文地址:https://www.cnblogs.com/zpchcbd/p/12311191.html

时间: 2024-08-01 05:08:04

DOS头属性的相关文章

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

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

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

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

HTTP中的请求头和响应头属性解析

HTTP中的请求头和响应头属性解析 下面总结一下平时web开发中,HTTP请求的相关过程以及重要的参数意义 一次完整的HTTP请求所经历的7个步骤 说明:HTTP通信机制是在一次完整的HTTP通信过程中,web浏览器与web服务器之间将完成下列7个步骤: 建立TCP连接 Web浏览器向web服务器发送请求命令  例如:GET /sample/hello.jsp HTTP 1.1 Web浏览器发送请求头信息 Web服务器应答  例如:HTTP/1.1 200 ok Web服务器发送应答头信息 We

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

C预编译, 预处理, C/C++头文件, 编译控制,

在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作.#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征.依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的. 其格式一般为: #Pragma Para 其中Para 为参数,下面来看一些常用的参数. (1)message 参数. Message 参数是我最喜欢的一个参数,它能够在编译信息输出窗口中输

PE文件结构详解(二)可执行文件头

在PE文件结构详解(一)基本概念里,解释了一些PE文件的一些基本概念,从这篇开始,将详细讲解PE文件中的重要结构. 了解一个文件的格式,最应该首先了解的就是这个文件的文件头的含义,因为几乎所有的文件格式,重要的信息都包含在头部,顺着头部的信息,可以引导系统解析整个文件.所以,我们先来认识一下PE文件的头部格式.还记得上篇里的那个图吗? DOS头和NT头就是PE文件中两个重要的文件头. 一.DOS头 DOS头的作用是兼容MS-DOS 操作系统中的可执行文件,对于32位PE文件来说,DOS所起的作用