[转帖]第5章 WINDOWS PE/COFF
https://www.jianshu.com/p/35db9df2514f?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
Windows的二进制文件格式PE/COFF
Win32平台下标准文件格式为PE,PE=Protable
Executable。
PE和ELF同根同源都是从COFF(Common Object File Format)发展而来。
PE的前身COFF
PE文件被装载时直接映射到进程虚拟空间中运行,它是进程虚拟空间的映像,所以PE很多时候被称为映像文件。
COFF文件结构和ELF文件结构大体相同,只是前者多了两个段——drectve段和debug$S段。
drectve很显然就是directive的某种缩写形式,而directive是指令的意思,因此它是编译器传递给链接器的链接指令。
在COFF中所有以debug开头的段都是调试信息段。
debug$S表示与符号相关的调试信息段。
还有其他段可参见P165。
与ELF不同的是COFF还会为字符串常量自动生成符号。
WINDOWS下的ELF——PE
PE比COFF多了两个主要的变化:
1、PE文件的开始部分是DOS MZ可执行文件格式的文件头和桩代码。
2、COFF格式中的IMAGE_FILE_HEADER被扩展成为IMAGE_NT_HEADERS。
DOS和WINDOWS下的可执行文件格式都是exe,但是DOS下的却是MZ格式。
[转帖]第5章 WINDOWS PE/COFF的更多相关文章
- 程序员的自我修养五Windows PE/COFF
		5.1 Windows的二进制文件格式PE/COFF PE文件格式事实上与ELF同根同源,它们都是由COFF格式发展而来. 5.2 PE前身——COFF 在win下,Command Prompt fo ... 
- Windows PE  第一章开发环境和基本工具使用
		第一章 Windows PE 基本工具 1.1开发语言MASM32 1.1.1设置开发环境 这个不细说了,我在整理Intel汇编的时候详细的说了环境搭建以及细节.地址是:http://blog.csd ... 
- Windows  Pe 第三章 PE头文件(上)
		第三章 PE头文件 本章是全书重点,所以要好好理解,概念比较多,但是非常重要. PE头文件记录了PE文件中所有的数据的组织方式,它类似于一本书的目录,通过目录我们可以快速定位到某个具体的章节:通过P ... 
- 第一章 Windows内核概述
		第一章 Windows内核概述 这一章节描述了Windows内核知识中最重要的几个概念,这些话题在这本书之后会有更详细的描述,那些会与当前的主题密切相关.要确保你理解这个章节的概念,因为这些概念构成了 ... 
- 使用Windows PE的U盘安装win7
		前年刚去公司的时候用PE装过好多系统,最近又装一台华硕的,碰到了一个问题,一起记录了下. 华硕X45,Bios已经改为U盘启动了,但就是进不去,因为知道可能还有个选磁盘启动项的键,找了半天原来按Esc ... 
- 第11章 Windows线程池(1)_传统的Windows线程池
		第11章 Windows线程池 11.1 传统的Windows线程池及API (1)线程池中的几种底层线程 ①可变数量的长任务线程:WT_EXECUTELONGFUNCTION ②Timer线程:调用 ... 
- 【学习】Windows PE文件学习(一:导出表)
		今天做了一个读取PE文件导出表的小程序,用来学习. 参考了<Windows PE权威指南>一书. 首先, PE文件的全称是Portable Executable,可移植的可执行的文件,常见 ... 
- C# 6 与 .NET Core 1.0 高级编程 - 39 章 Windows 服务(上)
		译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 39 章 Windows 服务(上)),不对的地方欢迎指出与交流. 章节出自<Professional C ... 
- C# 6 与 .NET Core 1.0 高级编程 - 39 章 Windows 服务(下)
		译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 39 章 Windows 服务(下)),不对的地方欢迎指出与交流. 章节出自<Professional C ... 
- Windows PE入门基础知识:Windows PE的作用、命名规则、启动方式、启动原理
		Windows PE的全名是WindowsPreinstallationEnvironment(WinPE)直接从字面上翻译就 是"Windows预安装环境".微软的本意是:Win ... 
随机推荐
- 云小课|聊一聊DRS的数据过滤特性
			[本期推荐专题]在DevOps市场中,华为云DevCloud拔得头筹,看它如何助力企业面对商业环境瞬息万变快速响应. [摘要] 目前,DRS已支持其他云.本地IDC.ECS自建MySQL.SQL Se ... 
- 用IoT放羊养牛,不出门也能知道它们的动向
			摘要:羊圈里几只小羊羔有点无精打采,"叮",牧民拉索划开手机,第一时间得知了这个情况.草场上有只牛一直到天黑都没回来,拉索再次通过手机软件,很快定位到那只独自流落在外的牛儿-- 本 ... 
- PNG文件解读(2):PNG格式文件结构与数据结构解读—解码PNG数据
			PNG文件识别 之前写过<JPEG/Exif/TIFF格式解读(1):JEPG图片压缩与存储原理分析>,JPEG文件是以,FFD8开头,FFD9结尾,中间存储着以0xFFE0~0xFFEF ... 
- 十大 CI/CD 安全风险(五)
			在本篇文章中,我们将了解第三方服务的监管不足,工件完整性验证及日志可见性不足这三个关键 CI/CD 安全风险,并给出缓解相应风险的建议与措施. 第三方服务监管不足 CI/CD 攻击面包括企业资产,例如 ... 
- 火山引擎 DataTester 揭秘:字节如何用 A/B 测试,解决增长问题的?
			更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 上线六年,字节跳动的短视频产品--抖音已成为许多人记录美好生活的平台.除了抖音,字节跳动旗下还同时运营着数十款 ... 
- Linux 升级安装 Python 3
			百度飞桨 PaddlePaddle 2.4.0 => Python 3.7.4 PaddlePaddle 2.4.1+ => Python 3.9.0 下载 # 安装依赖 [root@lo ... 
- 在WPF应用中使用FastReport.WPF报表模块
			FastReport是一个非常不错的报表组件,在Winform应用中常常使用它进行报表的设计.预览展现.打印或者导出文件(PDF.Excel)等,可以设计打印各种各样的报表,本篇随笔继续介绍当前最新的 ... 
- Go--较复杂的结构类型
			一.List List是一种有序的集合,可以包含任意数量的元素.与数组相比,list的长度可以动态调整,可以随时添加或删除元素,类似于切片 在go中,List是一个双向链表的实现. 实例 packag ... 
- 【每日一题】36. 小AA的数列 (二进制DP)
			补题链接:Here 算法涉及:位运算,DP 这道题想了很久但实在没想什么巧妙的解法,暴力的代码就不放,这里引用Kur1su 的思路 异或问题优先考虑二进制位,对于这个问题,我们需要考虑偶数长度的区间, ... 
- SpringBoot-mybatisplus-@select用法
			mybatisplus查询本生已经挺丰富,但有的时候还是想自己写sql语句,怎么写?这时候就需要使用@select来实现,具体用法如下: 1.数据准备 CREATE TABLE XY_DIC_BLOC ... 
