PE文件格式

本文介绍了Windows操作系统上可执行文件的PE格式,包括其发展历程、支持的架构以及文件结构等内容,并预告了后续将深入探讨PE文件的具体数据结构及其实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

到现在为止,我们已经完成的足够的代码来从硬盘上读出一个文件了。我们的操作系统内核将以一个DLL文件的形式放在硬盘上。而RMOSLDR会负责把这个内核文件读进来。但是现在还有一个问题。既然内核是一个DLL文件,那么,我们该如何加载一个DLL文件呢?

这就牵涉到Windows上可执行文件的格式。Windows上的可执行文件格式被称为PE(Portable Executable)格式。PE格式可以认为是COFF(Common Object File Format)格式的一个扩展。PE是一种可移植的文件格式,它可以在多种操作系统和硬件上运行。在Windows NT操作系统上,PE如今支持IA32, IA64(安腾),X86-64架构。在Windows 2000前的Windows NT早期版本也曾支持MIPS和Alpha架构。如今在Windows CE上,PE仍然支持MIPS和ARM架构。前些年当.Net被推出时,微软对PE格式做了一些扩展增加了对.NET的支持。

一个PE格式文件中包含了一些文件头和其他数据结构,这些数据结构中保存了足够的信息来进行诸如动态连接和重定位等工作。在后面一系列文章中将逐一介绍PE文件中的各个数据结构,以及执行重定位和动态链接的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值