PE文件之DOS头
来源:互联网 发布:axure rp中文版 mac 编辑:程序博客网 时间:2024/06/01 07:11
微软为了照顾兼容性,在以后的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文件之DOS头
- PE文件格式之MS-DOS头,PE文件头,区块
- PE文件详解之MS-DOS头
- PE文件详解之MS-DOS头
- PE格式之DOS头+PE头
- PE文件检测DOS头\NT头
- PE总结3---PE文件结构DOS文件头
- PE文件详解之PE文件头
- PE文件详解之PE文件头
- 通过DOS头判断一个文件是否为PE文件
- PE总结 - DOS文件头、PE文件头、节表和表详解
- PE文件学习笔记(一):DOS头与PE头解析
- C语言编程获取PE文件DOS头
- 放下代码 PE文件变形之初步 移动PE头
- PE总结5---PE文件结构NT头之文件头--IMAGE_FILE_HEADER
- 遍历PE文件头。
- PE文件头
- PE文件头
- 搭建rails开发环境(ruby2.1+rails4.1.6)
- Java制作jar包的几种方法
- 利用while语句求1000以内偶数的和
- Android开发软件安装与环境配置
- Mybatis动态构建Sql(无实体类)
- PE文件之DOS头
- linux下cat命令详解
- JAVA小程序:和电脑猜拳
- 利用DO WHILE 语句求1000以内偶数和
- Android Developer Toolkit (ADT)升级
- 稀疏矩阵的十字链表存储
- 黑马程序员---C语言指针
- maven介绍和环境搭建
- php和c++socket通讯(基于字节流,二进制) .