⑴ linux windows pe格式一样吗
PE 我记得是 exe 文件特有格式 ,Linux 不可能支持。Linux 的 ELF 貌似也不是唯一 Linux 的格式,Linux 下面还想还有一个 Misc 格式(具体是什么我也没注意过,现在基本都统一了)。Windows 下面的 .com 文件不是 PE 格式(现在应该还有吧?)不过 .com 的格式限制很大。两个可执行文件的格式完全不同,不过大体上理解起来意思还是一致的。
⑵ pe文件结构剖析,什么是pe文件
PE文件被抄称为可移植的执行体是Portable Execute的全称,常见的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接被执行,如DLL)详细的信息到http://ke..com/view/1087038.htm 查看
⑶ PE文件是什么就是EXE文件吗
1、EXE文件是属于PE文件的一种。
2、PE文件的全称是Portable Executable,意为可移植的执行体是,常见的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接被执行,如DLL)
3、一个操作系统的可执行文件格式在很多方面是这个系统的一面镜子。虽然学习一个可执行文件格式通常不是一个程序员的首要任务,但是可以从这其中学到大量的知识。
4、 Microsoft 的所有基于win32系统(如winnt,win9x)的可移植可执行(PE)文件格式的详细介绍。在可预知的未来,包括Windows2000, PE文件格式在 MicroSoft 的操作系统中扮演一个重要的角色。
5、如果在使用 Win32 或 Winnt ,那么已经在使用 PE 文件了。甚至只是在 Windows3.1 下使用 Visual C++编程,使用的仍然是 PE 文件(Visual C++ 的 32 位MS-DOS扩展组件用这个格式)。简而言之,PE 格式已经普遍应用,并且在不短的将来仍是不可避免的。
⑷ pe文件的文件格式
A.DOS STUB和DOS头DOS插桩程序在大多数情况下由汇编器/编译器自动产生.通常它调用INT 21H服务9来显示上述字符串.可以通过IMAGE_DOS_HEADER结构来识别一个合法的DOS头.这个结构的头两个字节肯定是MZ.可通过该结构的e_lfanew成员来找到PE文件的开始标志.MS-DOS头部占据了PE文件的头64个字节.在微软的WINNT.H中可以找到其内容结构的描述. 在DOS STUB后是PE文件头(PE header).PE文件头是PE相关结构IMGAE_NT_HEADERS的简称,即NT映像头,存放PE整个文件信息发布的重要字段,包含了PE装载器用到的重要域.执行体在操作系统中执行时,PE装载器将从DOS MZ头中找到PE头文件的起始偏移量e_lfanew,从而跳过DOS STUB直接定位真正的PE文件.它由3部分组成:(1)PE文件标志(4H字节)PE文件标志0x50450000即PE00,标志着NT映像头的开始,也是PE文件中与windows有关内容的开始.(2)映像文件(14H字节)是NT映像文件的主要部分,包含PE文件的基本信息(3)可选映像头包含PE文件的逻辑分布信息.C.节表节表其实是紧跟NT映像文件的一个结构数组.其成员数目由映像文件头结构NumberOFSectios域的值来决定.D.节PE文件的真正内容划分为块,称之为节.节的划分基于各组数据的共同属性.惟有节的属性设置决定了节的特性和功能.典型的windows NT应用程序可以具有9个节:.texr,.bss.rdata,.data,.rsrc,edata,idata,pdata,.debug判断一个文件是否为PE文件var //检测指定文件是否有效PE文件PEDosHead: TImageDosHeader;PENTHead: TImageNtHeaders;m_file: integer;beginResult := False;m_file := FileOpen(filename, fmOpenRead or fmShareDenyNone); //只读和其它任意if m_File > 0 thentryFileSeek(m_file, 0, soFromBeginning); //将指针挪至文件头FileRead(m_file, PEDosHead, SizeOf(PEDosHead)); //读PEDosHead结构FileSeek(m_file, PEDosHead._lfanew, soFromBeginning); //将指针挪至_lfanewFileRead(m_file, PENTHead, SizeOf(PENTHead)); //读PENTHead结构finallyFileClose(m_file);end;if (PENTHead.Signature = IMAGE_NT_SIGNATURE) then //检验文件头部第一个字的值是否等于 IMAGE_DOS_SIGNATUREResult := True;end;pe文件结构图
⑸ PE格式的介绍
PE(Portable Executable)格式,是微软Win32环境可移植可执行文件(如exe、dll、vxd、sys和vdm等)的标准文件格式。PE格式衍生于早期建立在VAX(R)VMS(R)上的COFF(Common Object File Format)文件格式。
⑹ PE是什么文件呀
PE教程1: PE文件格式一览考虑到早期写的PE教程1是自己所有教程中最糟糕的一篇,此番决心彻底重写一篇以飨读者。PE 的意思就是 Portable Executable(可移植的执行体)。它是 Win32环境自身所带的执行体文件格式。它的一些特性继承自 Unix的 Coff (common object file format)文件格式。"portable executable"(可移植的执行体)意味着此文件格式是跨win32平台的 : 即使Windows运行在非Intel的CPU上,任何win32平台的PE装载器都能识别和使用该文件格式。当然,移植到不同的CPU上PE执行体必然得有一些改变。所有 win32执行体 (除了VxD和16位的Dll)都使用PE文件格式,包括NT的内核模式驱动程序(kernel mode drivers)。因而研究PE文件格式给了我们洞悉Windows结构的良机。本教程就让我们浏览一下 PE文件格式的概要。DOS MZ header DOS stub PE header Section table Section 1 Section 2 Section … Section n 上图是 PE文件结构的总体层次分布。所有 PE文件(甚至32位的 DLLs) 必须以一个简单的 DOS MZ header 开始。我们通常对此结构没有太大兴趣。有了它,一旦程序在DOS下执行,DOS就能识别出这是有效的执行体,然后运行紧随 MZ header 之后的 DOS stub。DOS stub实际上是个有效的 EXE,在不支持 PE文件格式的操作系统中,它将简单显示一个错误提示,类似于字符串 "This program requires Windows" 或者程序员可根据自己的意图实现完整的 DOS代码。通常我们也不对 DOS stub 太感兴趣: 因为大多数情况下它是由汇编器/编译器自动生成。通常,它简单调用中断21h服务9来显示字符串"This program cannot run in DOS mode"。紧接着 DOS stub 的是 PE header。 PE header 是PE相关结构 IMAGE_NT_HEADERS 的简称,其中包含了许多PE装载器用到的重要域。当我们更加深入研究PE文件格式后,将对这些重要域耳目能详。执行体在支持PE文件结构的操作系统中执行时,PE装载器将从 DOS MZ header 中找到 PE header 的起始偏移量。因而跳过了 DOS stub 直接定位到真正的文件头 PE header。PE文件的真正内容划分成块,称之为sections(节)。每节是一块拥有共同属性的数据,比如代码/数据、读/写等。我们可以把PE文件想象成一逻辑磁盘,PE header 是磁盘的boot扇区,而sections就是各种文件,每种文件自然就有不同属性如只读、系统、隐藏、文档等等。 值得我们注意的是 —- 节的划分是基于各组数据的共同属性: 而不是逻辑概念。重要的不是数据/代码是如何使用的,如果PE文件中的数据/代码拥有相同属性,它们就能被归入同一节中。不必关心节中类似于"data", "code"或其他的逻辑概念: 如果数据和代码拥有相同属性,它们就可以被归入同一个节中。(译者注:节名称仅仅是个区别不同节的符号而已,类似"data", "code"的命名只为了便于识别,惟有节的属性设置决定了节的特性和功能)如果某块数据想付为只读属性,就可以将该块数据放入置为只读的节中,当PE装载器映射节内容时,它会检查相关节属性并置对应内存块为指定属性。如果我们将PE文件格式视为一逻辑磁盘,PE header是boot扇区而sections是各种文件,但我们仍缺乏足够信息来定位磁盘上的不同文件,譬如,什么是PE文件格式中等价于目录的东东?别急,那就是 PE header 接下来的数组结构 section table(节表)。 每个结构包含对应节的属性、文件偏移量、虚拟偏移量等。如果PE文件里有5个节,那么此结构数组内就有5个成员。因此,我们便可以把节表视为逻辑磁盘中的根目录,每个数组成员等价于根目录中目录项。以上就是PE文件格式的物理分布,下面将总结一下装载一PE文件的主要步骤:当PE文件被执行,PE装载器检查 DOS MZ header 里的 PE header 偏移量。如果找到,则跳转到 PE header。 PE装载器检查 PE header 的有效性。如果有效,就跳转到PE header的尾部。 紧跟 PE header 的是节表。PE装载器读取其中的节信息,并采用文件映射方法将这些节映射到内存,同时付上节表里指定的节属性。 PE文件映射入内存后,PE装载器将处理PE文件中类似 import table(引入表)逻辑部分。 上述步骤是基于本人观察后的简述,显然还有一些不够精确的地方,但基本明晰了执行体被处理的过程。其它看这里~http://www.pediy.com/tutorial/chap8/Chap8-1-1.htm
⑺ 什么是PE、VC
PE有多种解释,比如PE文件、Windows PE系统,一般来说,和VC相关的PE指的是PE文件,PE文件的全称是Portable Executable,意为可移植的执行体是,常见的EXE、DLL、OCX、SYS、COM都是PE文件,它是微软Windows操作系统上的可执行程序文件格式。VC:是Microsoft Visual C++,它是Microsoft公司推出的开发Win32环境程序,面向对象的可视化集成开发环境,本质上VC是IDE。两者的关系,用VC开发出来的应用程序都是PE文件格式的。
⑻ PE格式文件有哪些
exe、dll、vxd、sys和vdm
Portable 对于不同的Windows版本和不同的CPU类型上PE文件的格式是一样的,当然CPU不一样了内,CPU指令的二容进制编码是不一样的。只是文件中各种东西的布局是一样的。
(8)pe文件格式有com吗扩展阅读:
Dos Mz head 和Dos stub和称Dos文件头,PE文件的第一个字节起始于MS-DOS头部,被称作IMAGE_DOS_HEADER.紧随Dos stub的是PE文件头(PE Header),PE Header是PE相关结构NT映像头(IMAGE_NT_HEADERS)的简称,其中包含许多PE装载器用到的重要字段。
1、入口点Entry Point
2、文件偏移地址File Offset
3、虚拟地址Virtual Address 简称:VA
4、基地址 ImageBase
5、相对虚拟地址Relative Virual Address 简称:RVA
⑼ PE文件是什么,组件是什么
PE 的意思就是 Portable Executable(可移植的执行体)。它是 Win32环境自身所带的执行体文件格式。它的一些特性继承自 Unix的 Coff (common object file format)文件格式。"portable executable"(可移植的执行体)意味着此文件格式是跨win32平台的 : 即使Windows运行在非Intel的CPU上,任何win32平台的PE装载器都能识别和使用该文件格式。当然,移植到不同的CPU上PE执行体必然得有一些改变。所有 win32执行体 (除了VxD和16位的Dll)都使用PE文件格式,包括NT的内核模式驱动程序(kernel mode drivers)。因而研究PE文件格式给了我们洞悉Windows结构的良机。 IE浏览器常见的插件例如:Flash插件、RealPlayer插件、MMS插件、MIDI五线谱插件、ActiveX插件等等;再比如Winamp的DFX,也是插件。还有很多插件都是程序员新开发的。 组件和插件的区别是,插件是属于程序接口的程序,组件在ASP中就是控件、对象,ASP/IIS的标准安装提供了11个可安装组件。ASP的FSO组件,编程的朋友都如雷贯耳吧,它就是最常用的Scripting.FileSystemObject对象。
⑽ PE文件是什么是EXE文件吗
你能把问题说 具体点吗?EXE文件是 文件名后缀是 .exe 结尾的 你所说的PE文件 是不是 文件名后缀以 .pe结尾的吗?PE格式,是微软Win32环境可执行文件的标准格式(所谓可执行文件不光是.EXE文件,还包括.DLL/.VXD/.SYS/.VDM等)。PE 就是Portable Executable 的缩写,PE文件衍生于早期建立在VAX/VMS上的COFF(Common Object File Format)文件格式。Portable 是指对于不同的Windows版本和不同的CPU类型上PE文件的格式是一样的,当然CPU不一样了,CPU指令的二进制编码是不一样的。只是文件中各种东西的布局是一样的。 PE文件使用的是一个平面地址空间,所有代码和数据都合并在一起,组成一个很大的结构。主要有: .text 是在编译或汇编结束时产生的一种块,它的内容全是指令代码 .rdata 是运行期只读数据 .data是初始化的数据块 .idata 包含其它外来DLL的函数及数据信息,即输入表 .rsrc 包含模块的全部资源:如图标、菜单、位图等 还有种是PE系统 是 简化了的 windows 系统
未经允许不得转载:山九号 » pe文件格式有com吗|pe文件的文件格式