U盘PE| w764位旗舰版下载 | U盘装win7系统 | U盘启动 |win7pe | win10下载 |加入收藏土豆PE官网U盘PE,U盘装win7系统,win7pe,U盘启动,U盘装系统,w764位旗舰版下载站!
当前位置:主页 > 帮助中心 > 土豆PE使用教程 >

PE文件结构小结

来源:http://www.tudoupe.com时间:2021-12-05

此页面仅保留 PE 文件结构, 作为备注, 供未来参考!
一些数据目录尚未汇总,随后的学习将得到加强。

文章目录

  • DOS头
  • NT头
    • 文件头
      • 确定文件是否为 PE 文件 。
      • 确定 PE 文件是否是 dll
      • 确定一个 PE 文件是否可执行 。
      • 确定 PE 文件是32 或 64 比特(方法1和2)
    • 可选头
      • 确定 PE 文件是32位或64位(方法3)
  • 数据目录
    • 导出表
      • 三个数组
      • 获取基于函数名称的函数地址。
    • 导入表
      • 双桥结构
      • 确定一个 PE 文件是否为 siys
    • 资源表
    • 安全表
    • 重定位表
    • 调试信息表
    • TLS
  • 节表
      • FOA可通过RVA获得。
      • 常见的节

PE文件结构图:
在这里插入图片描述
在这里插入图片描述

DOS头

Dos头一共64(0x40)个字节

监督事务司头部的底部不是NT头部,而是一块从一个链接到下一个链接大小不等的塔布。
因此不能通过IMAGE_DOS_HEADER + 0x40它的设计是用来找到NT头的IMAGE_DOS_HEADER + IMAGE_DOS_HEADER->e_lfanew

NT头

NT头的大小从32到64不等,原因是头的甄选有差异。
248 (0xF8) 字节= 4 + 20 (0x14) + 224 (0xE0) 字节
64字节 = 4 + 20 (0x14) + 240 (0xF0) = 264 (0x108)

文件头

文件头一共20(0x14)个字节

在这里插入图片描述

确定文件是否为 PE 文件 。

确定 PE 文件是否是 dll

确定一个 PE 文件是否可执行 。

确定 PE 文件是32 或 64 比特(方法1和2)

方法一:

方法二:

可选头

低于32,96 (0x60) + 128 (0x80) = 224 (0xE0) 字节
64下, 112 (0x60) + 128 (0x80) 等于 240 (0xF0) 字节

64至32个职位之间的差额如下:

  • 64位没有成员BaseOfData
  • 64位的ImageBaseSizeOfStackReserveSizeOfStackCommitSizeOfHeapReserveSizeOfHeapCommitULONGLONG,该过程的虚拟内存 来适应上升

确定 PE 文件是32位或64位(方法3)

数据目录

IMAGE_OPTIONAL_HEADER->DataDirectory
这是一个由16 IMAGE_Data_DIRECORIY组成的由16个IMAGE_DATA_DIRECORIY组成的由16个成员组成的结构阵列。

导出表

导出表定义了 PE 文件提供给其他应用程序的功能 。
只有一个IMAGE_EXPORT_DESCRIPTOR

三个数组

在这里插入图片描述

获取基于函数名称的函数地址。

导入表

导入表显示 PE 文件中的应用程序如何使用其他动态链接库函数。
是一个IMAGE_IMPORT_DESCRIPTOR数组。
当打开一个 PE 文件时,操作系统会装入表格中的所有 DLL,并根据 DLL 导出表的导入函数说明修改 IAT 值。

双桥结构

桥1和桥2的设计是为了导致输入函数的“索引-名称”(提示/名称)描述被应用到一个位置。

在这里插入图片描述
当将一个 PE 文件放入记忆时, ITAT 的内容将更新为功能 VA, 导致桥2断裂 。
在内存中,
Bridge 1 提供调用功能的名称和索引。
Bridge 2 使您能够在记忆中找到呼叫功能的地址 。
在这里插入图片描述

确定一个 PE 文件是否为 siys

检查进口表,看看是否在那里。ntoskrnl.exehal.dllndis.sysbootvid.dllkdcom.dll

资源表

应用程序经常使用六种资源类型:位图(BITMAP)、CurSOR、图标(ICON)、菜单(MENU)、对话框(DIALOG)和自定义资源。
该表解释了PE.PE文件中资源数据的分布情况。 PE.PE文件的结构与文件管理相似,有一个主要分目录(按资源类型分类)、一个二级分目录(按资源编号分类)和一个三级分目录(按资源代码页分类),这是实际资源数据项目。
以资源表为例,这可能比较抽象:
在这里插入图片描述
根目录资源目录根据资源类别将其分为10个资源目录项目和17个资源目录项目。
在这里插入图片描述
这个新的资源目录项目1是根据资源代码页分类的,只有一个资源目录项目1可访问,这是下文实际资源数据项目。
在这里插入图片描述
因此,PE资源表包括三个数据结构:资源目录页眉、资源目录项目和资源数据项目。

安全表

数字签名的 PE 文件的安全工作表不是 NULL 。

重定位表

PE文件被装入内存时,其基地址是由OptionalHeader->ImageBase决定的。但是如果装入时该位置已被占用,则操作系统会重新选择一个基地址,此时就需要对所有的重定位信息进行修正,修正的依据就是重定位表。
这是一个结构阵列,可与进口表相比。

调试信息表

TLS

节表

各节的表格是PE文件所有各节的目录。
章节表格大小 = 款数IMAGE_FILE_HEADER->NumberOfSections) * 40字节

当将一个 PE 文件装入内存时,它需要的地址空间略多于磁盘上的地址空间,因为这些部分与每页的内存对齐。
在这里插入图片描述

FOA可通过RVA获得。

常见的节

  • 唯一的可执行部分是.Text, 其中包括 CPU 执行指令 。
  • .rdata:只读数据,包括进出口功能信息。一些文件将拥有它们。idata 和..edata 节,以保存进出口信息。
  • 数据:这一类别包括世界范围的数据。
  • .rrcc:包括不可执行的资源,用于可执行文件,例如图标、照片、菜单项和字符串。

在这里插入图片描述

Copyright © 2012-2014 Www.tudoupe.Com. 土豆启动 版权所有 意见建议:tdsky@tudoupe.com

土豆系统,土豆PE,win7系统下载,win7 64位旗舰版下载,u盘启动,u盘装系统,win10下载,win10正式版下载,win10 RTM正式版下载,win8下载,电脑蓝屏,IE11修复,网络受限,4K对齐,双系统,隐藏分区,系统安装不了,U盘装系统,笔记本装系统,台式机装系统,diskgenius运用,GHSOT装系统,U盘修复,U盘技巧,U盘速度,U盘不能格式化,U盘复制发生错误,U盘加密,U盘选购,开机黑屏,蓝屏,进不了系统,上不了网,打不开程序,点击无反应,系统设置,PE个性化,PE添加网络,PE维护系统

点击这里给我发消息