小甲鱼PE详解之IMAGE_DOS_HEADER结构定义即各个属性的作用(PE详解01)

(注:最左边是文件头的偏移量。)

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 header in paragraphs

+0ah  WORD e_minalloc  //Minimun extra paragraphs needs

+0ch  WORD e_maxalloc  //Maximun extra paragraphs needs

+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)CS value                    DOS代码的初始堆栈入口

+18h  WORD e_lfarlc   //File Address of relocation table

+1ah  WORD e_ovno        //    Overlay number

+1ch  WORD e_res[4]   //Reserved words

+24h  WORD e_oemid   //    OEM identifier(for e_oeminfo)

+26h  WORD      e_oeminfo   //    OEM information;e_oemid specific

+29h  WORD e_res2[10]   //    Reserved words

+3ch  DWORD   e_lfanew     //Offset to start of PE header             指向PE文件头

} IMAGE_DOS_HEADER ENDS

时间: 2024-12-13 02:12:16

小甲鱼PE详解之IMAGE_DOS_HEADER结构定义即各个属性的作用(PE详解01)的相关文章

PE详解之IMAGE_DOS_HEADER结构定义即各个属性的作用(PE详解01)

小甲鱼在这里为大家做好了详细的注释,免得大家一头雾水,另外可以结合小甲鱼<加密系列>-系统篇-PE结构详解视频教程学习~若有纰漏之处还望大家不吝指正. (视频教程:http://fishc.com/a/shipin/jiemixilie/) (注:最左边是文件头的偏移量.) IMAGE_DOS_HEADER STRUCT { +0h WORD e_magic   // Magic DOS signature MZ(4Dh 5Ah)     DOS可执行文件标记 +2h   WORD  e_cb

小甲鱼PE详解之IMAGE_OPTIONAL_HEADER32 结构定义即各个属性的作用(PE详解03)

咱接着往下讲解IMAGE_OPTIONAL_HEADER32 结构定义即各个属性的作用! (视频教程:http://fishc.com/a/shipin/jiemixilie/) 接着我们来谈谈 IMAGE_OPTIONAL_HEADER 结构,正如名字的意思,这是一个可选映像头,是一个可选的结构,但是呢,实际上上节课我们讲解的 IMAGE_FILE_HEADER 结构远远不足以来定义 PE 文件的属性.因此,这些属性在 IMAGE_OPTIONAL_HEADER 结构中进行定义. 因此这两个结

PE详解之IMAGE_OPTIONAL_HEADER32 结构定义即各个属性的作用(PE详解03)

咱接着往下讲解IMAGE_OPTIONAL_HEADER32 结构定义即各个属性的作用! (视频教程:http://fishc.com/a/shipin/jiemixilie/) 接着我们来谈谈 IMAGE_OPTIONAL_HEADER 结构,正如名字的意思,这是一个可选映像头,是一个可选的结构,但是呢,实际上上节课我们讲解的 IMAGE_FILE_HEADER 结构远远不足以来定义 PE 文件的属性.因此,这些属性在 IMAGE_OPTIONAL_HEADER 结构中进行定义. 因此这两个结

小甲鱼PE详解之IMAGE_NT_HEADERS结构定义即各个属性的作用(PE详解02)

PE Header 是PE相关结构NT映像头(IMAGE_NT_HEADER)的简称,里边包含着许多PE装载器用到的重要字段.下边小甲鱼将为大家详细讲解哈~ (视频教程:http://fishc.com/a/shipin/jiemixilie/) 首先是IMAGE_NT_HEADERS 结构的定义:(啥?结构不会,先看看小甲鱼童鞋的<零基础入门学习C语言>关于结构方面的章节吧~) IMAGE_NT_HEADERS STRUCT { +0hDWORDSignature  // +4h  IMAG

PE详解之IMAGE_NT_HEADERS结构定义即各个属性的作用(PE详解02)

首先是IMAGE_NT_HEADERS 结构的定义:(啥?结构不会,先看看小甲鱼童鞋的<零基础入门学习C语言>关于结构方面的章节吧~) IMAGE_NT_HEADERS STRUCT { +0hDWORDSignature  // +4h  IMAGE_FILE_HEADER FileHeader // +18hIMAGE_OPTIONAL_HEADER32OptionalHeader   // } IMAGE_NT_HEADERS ENDS Signature 字段: 在一个有效的 PE 文

小甲鱼PE详解之区块表(节表)和区块(节)续(PE详解05)

这一讲我们结合实例来谈谈区块表的定义以及各个属性的含义. 首先,我们先用之前学过的一点知识在二进制文件中手动翻找区块表,这样做的好处是可以使你很快的对PE结构牢记于心.学来的东西就是能用的东西,不能用的理论是空谈,是瞎扯. (具体过程演示大伙可参考小甲鱼的视频教程:<解密系列>系统篇.第五讲) 这里我们经过千辛万苦终于找到了我们的区块表了(当然将来我会教大家写一个自己的工具,让工具去找,现在让大家自己动手是为了增强感觉!),现在我们联系上一章节提到的区块表的结构对各个成员进行详细的分析: ty

小甲鱼PE详解之输入表(导出表)详解(PE详解09)

小甲鱼PE详解之输出表(导出表)详解(PE详解09) 当PE 文件被执行的时候,Windows 加载器将文件装入内存并将导入表(Export Table) 登记的动态链接库(一般是DLL 格式)文件一并装入地址空间,再根据DLL 文件中的函数导出信息对被执行文件的IAT 进行修正. ( 基础补充:很多朋友可能看到这里会有点懵,各位看官请允许小甲鱼啰嗦一下,照顾初学者.我们都明白Windows 在加载一个程序后就在内存中为该程序开辟一个单独的虚拟地址空间,这样的话在各个程序自己看来,自己就拥有几乎

小甲鱼PE详解之基址重定位详解(PE详解10)

今天有一个朋友发短消息问我说“老师,为什么PE的格式要讲的这么这么细,这可不是一般的系哦”.其实之所以将PE结构放在解密系列继基础篇之后讲并且尽可能细致的讲,不是因为小甲鱼没事找事做,主要原因是因为PE结构非常重要,再说做这个课件的确是很费神的事哈.在这里再次强调一下,只要是windows操作程序,其就要遵循PE格式,再说人家看雪的网址就是www.pediy.com. 简单的讲是可以,但是怕就怕有些朋友知识点遗漏了或者错误理解意思.不能深刻体会等,这样的效果是不好的~所以,小甲鱼尽管这系列视频可

小甲鱼PE详解之区块描述、对齐值以及RVA详解(PE详解06)

很多朋友喜欢听小甲鱼的PE详解,因为他们觉得课堂上老师讲解的都是略略带过,绕得大家云里雾里~刚好小甲鱼文采也没课堂上的教授讲的那么好,只能以比较通俗的话语来给大家描述~ 通常,区块中的数据在逻辑上是关联的.PE 文件一般至少都会有两个区块:一个是代码块,另一个是数据块.每一个区块都需要有一个截然不同的名字,这个名字主要是用来表达区块的用途.例如有一个区块 叫.rdata,表明他是一个只读区块.注意:区块在映像中是按起始地址(RVA)来排列的,而不是按字母表顺序. 另外,使用区块名字只是人们为了认