PE文件结构(一)PE头
12/100
发布文章
qq_63329753
未选择任何文件
new

PE文件结构

PE(Portble Executable File Format,可移植的执行体文件格式) 文件是Windows操作系统下使用的可执行文件格式,使用该格式的目标是使链接生成的EXE文件能在不同的CPU工作指令下工作。


PE文件种类:(种类:主拓展名)

  • 可执行系列:EXE,SCR;
  • 驱动程序系列:SYS,VXD;
  • 库系列:DLL,OCX,CPL,DRV;
  • 对象文件系列:OBJ;

PE文件头部:

  • DOS头(MZ头)
  • DOS stub(DOS存根)
  • PE头 (IMAGE_NT_HEADERS)
  • 节表(多个IMAGE_SECTION_HEADER结构)

PE文件身体:

  • 节内容

具体解析:

一、DOS头;

一个64字节的结构体:

2个重要成员:

e_magic:DOS签名(4D5A,MZ)

**PE_start=DOS MZ基地址+IMAGE DOS_HEADER.e_lfanew **

e_lfanew:指向PE头的偏移地址

例子:


二、DOS stub;

一个字节块,大小不定(缺少文件也可运行)

例子:

三、PE头;

PE头IMAGE_NT_HEADERS(三部分):

  1. PE头标识 Signature:PE\0\0,占四字节

    #0120地址与e_lfanew一致

  2. 标准PE头,IMAGE_FILE_HEADER,标准通用对象文件格式(Common Object File Format,COFF)头:记录了PE文件的全局属性,20字节。

    #1.每个CPU都拥有唯一的Machine码

    #2.Characteristics,每位有特定属性

  3. 拓展PE头IMAGE_OPTIONAL_HEADER32,大小由标准PE头.SizeofOptionalHeader指定

    #1.Magic:32位时,值为10B,64位为20B

    一个重要字段DateDirectory:

总的数据目录一共16个相同的结构体排在一起:

例子:

#Magic 020B,64位

#大小为 00F0(15行,每行16字节)

四、节表;

**IMAGE_NT_HEADERS后紧跟着节表,由许多个节表项组成,每个对应一个节区,数量在IMAGE_FILE_HEADER.NumberOfSections中。

每个节表40字节。

项组成,每个对应一个节区,数量在IMAGE_FILE_HEADER.NumberOfSections中。

每个节表40字节。

[外链图片转存中…(img-y0OljAOB-1644736362110)]

例子:
本例8个节区,均以2E开头(未找到硬性规定,应该是约定俗成),40字节。

PE文件(一)PE头相关推荐

  1. PE文件解析(1):Dos头与NT头

    文章目录 DOS头 NT头 标准NT头 可选NT头 什么是PE文件? PE文件是在windows平台可执行的文件. 包括:.exe(可执行程序),dll(动态链接库).sys(驱动程序) 这是PE文件 ...

  2. PE文件详解(教程1-7)

    PE文件详解(教程1-7) ========================================= PE教程1: PE文件格式一览 PE 的意思就是 Portable Executable ...

  3. [系统安全] 四十一.APT系列(6)Python解析PE文件并获取时间戳判断来源区域

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  4. 基于windows PE文件的恶意代码分析;使用SystemInternal工具与内核调试器研究windows用户空间与内核空间...

    基于windows PE文件的恶意代码分析:使用SystemInternal工具与内核调试器研究windows用户空间与内核空间 ******************** 既然本篇的主角是PE文件,那 ...

  5. 基于PEview分析PE文件(4-1)

    1 PE文件 1.1 PE文件简介 PE文件是Portable Executable(可移植的可执行文件)的简写.EXE.DLL.SYS.COM都是PE文件,PE文件是微软Windows操作系统上的程 ...

  6. 网络安全学习第6篇 - 爆破及PE文件解释

    1.请采用暴力破解的方式去尝试破解crack.exe文件(在实验报告中说明破解原理即可,无需提交破解后的文件) 2.请依据参考文档中的内容编写一个小程序,使其可以实现如下功能: ①判断一个文件是否为P ...

  7. PE文件中对DOS存根的一些想法

    首先先了解一下PE文件: PE(Protable Executable),即可移植的执行体.在Windows操作系统平台下,所有的可执行文件如EXE文件.DLL文件.SYS文件.OCX文件.COM文件 ...

  8. 【逆向】PE文件解析

    文章目录 PE文件 DOS头部 PE/NT头解析 区段头/区块表解析 数据目录表(存放在某个区段) 1. 导出表 2. 导入表 3. 重定位表 PE文件 PE文件:PE文件是在windows平台可执行 ...

  9. 用Winhex软件解析PE文件

    一.概念 1. PE文件 PE(Portable Executable)文件,被称为可移植的可执行的文件,常见的EXE.DLL.OCX.SYS.COM都是PE文件,PE文件是微软Windows操作系统 ...

  10. 实验五——手工编写PE文件

    [实验名称] 手工编写PE文件 [实验目的] 1.了解PE文件的概念.结构 2.熟悉PE编辑查看工具,详细了解PE文件格式 3.重点分析PE文件文件头.引入表.引出表,以及资源表 [实验原理] 1.P ...

最新文章

  1. maven中pom.xml中依赖包代码的查询地址
  2. MySql基础入门-mysql体系结构
  3. JMeter 监听器之保存响应到文件
  4. 0-1背包(及初始化问题)
  5. 大数据时代的技术hive:hive介绍
  6. Leetcode--438. 找到字符串中所有字母异位词
  7. php 字符串函数 教程_PHP 字符串获取 substr 与 strstr 函数
  8. mongodb查询文件服务器的数据,服务器端知识库mongodb基础篇
  9. python编程(supervisor程序管理)
  10. [转]Django REST framework 简介与中文教程
  11. 英语总结系列(十五):别样的三月
  12. PHP排序算法之快速排序
  13. 万能密码 php,PHP万能密码
  14. pushbutton flash 游戏开发
  15. HMC5883L校准
  16. 国外各国统计机构网址
  17. 打开计算机网络自动连接,电脑如何自动连接上网 开机自动拨号连接宽带的方法【步骤】...
  18. 《计算机网络教程》(微课版 第五版)第四章 网络层与网络互连 课后习题及答案
  19. 笔记本显示器根据页面显示亮度自动调节亮度的问题
  20. Oracle Latch的学习【原创】

热门文章

  1. 分库分表系列: 到底该怎么拆分?
  2. Win10开始菜单和Cortana不能用如何解决?
  3. Android 中获取手机屏幕的宽度和高度(单位为像素)
  4. linux debian u盘安装,使用U盘安装Debian系统的详细步骤
  5. IEC61499 重大进展-UniversalAutomation.org 协会成立
  6. 【电商开发手册】购物车设计
  7. Java迭代器(Iterator)的用法
  8. iOS远程推送自定义语音合成播放声音(类似支付宝收款提醒)
  9. 坐地铁可以刷学生卡吗_公交学生卡乘车打几折?哪些线路开通支付宝扫码乘车、有优惠吗?戳进了解公交这些事儿...
  10. eBay数据科学家李睿:自然语言处理在eBay的技术实践