PE文件头是什么

PE文件头是什么,第1张

哈哈,从百度给你找来了…PE首部 和其它可执行文件格式一样,PE文件在众所周知的地方有一些定义文件其余部分面貌的域。首部就包含这样像代码和数据的位置和尺寸的地方, *** 作系统要对它进行干预,比如初始堆栈大小,和其它重要的块的信息,我将要简短的介绍一下。和微软其它可执行格式相比,主要的首部不是在文件的最开始。典型的PE文件最开始的数百个字节被DOS残留部分占用。这个残留部分是一个可以打印如"这个程序不能在DOS下运行!"这类信息的小程序。所以,你在一个不支持Win32的系统中运行这个程序,便可以得到这类错误!

 Windows *** 作系统家族增加的Windows NT为开发环境和应用程序本身带来了很大的改变,这之中一个最为重大的当属PE文件格式了。新的PE文件格式主要来自于UNIX *** 作系统所通用的COFF 规范,同时为了保证与旧版本MS-DOS及Windows *** 作系统的兼容,PE文件格式也保留了MS-DOS中那熟悉的MZ头部。

在Windows下,程序和库都是PE(Portable Excutable)格式文件,可以被内存映射到一个进程中。

加载一个Windows可执行程序或者DLL与加载一个动态链接的ELF程序相似,尽管在Windows下动态链接器是 *** 作系统内核的一部分。

PE文件可以包含有重定位项。通常一个可执行程序不会包含可重定位项,因此必须将它们映射到在链接时确定的地址上。DLL都包含有重定位项,并且在它们被链接进来的地址空间无效的时候都会被重定位(微软将运行时重定位称为rebasing)。

所有的PE文件,包括可执行程序和DLL,都有一个入口点,在DLL被加载、被卸载,以及每一次进程的线程attach或deattach这个DLL的时候,加载器都会调用DLL的入口点(每一次加载器都会传递一个参数说明调用原因)。这就可以提供类似ELF的.init和.fini区段的钩子代码来实现初始化和终结 *** 作。

简而言之,PE头就是windows中特有的可执行文件头.


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/8120845.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存