WEB开发网
开发学院网络安全黑客技术 “PE文件格式”1.9版 完整译文(附注释)(1) 阅读

“PE文件格式”1.9版 完整译文(附注释)(1)

 2007-01-14 20:15:26 来源:WEB开发网   
核心提示: 位11IMAGE_FILE_NET_RUN_FROM_SWAP(网络文件从交换文件运行)表示如果一个应用程序不可以从网络上运行时,此位置1,“PE文件格式”1.9版 完整译文(附注释)(1)(7),在这种情况下,建议操作系统将文件复制到交换文件并从那里执行,文件中的各节常按照512(十六进

位11IMAGE_FILE_NET_RUN_FROM_SWAP(网络文件从交换文件运行)表示如果一个应用程序不可以从网络上运行时,此位置1。在这种情况下,建议操作系统将文件复制到交换文件并从那里执行。

位12IMAGE_FILE_SYSTEM(系统文件)表示如果文件是一个象驱动程序那样的系统文件,此位置1。此位可执行文件不用;我所见过的所有NT系统的驱动程序也不用。

位13IMAGE_FILE_DLL(DLL文件)表示如果文件是一个DLL文件时,此位置1。

位14IMAGE_FILE_UP_SYSTEM_ONLY(仅但处理器系统的文件)表示如果文件不设计运行在多处理器系统上(也就是说,因为此文件严格地依赖单一处理器的一些方式工作,所以它会发生冲突)时,此位置1。

五、相对虚拟地址(RelativeVirtualAddresses)

---------------------------------------------

PE格式大量地使用所谓的RVA(相对虚拟地址)。一个RVA,亦即一个“RelativeVirtualAddresses(相对虚拟地址)”,是在你不知道基地址时,被用来描述一个内存地址的。它是需要加上基地址才能获得线性地址的数值。基地址就是PE映象文件被装入内存的地址,并且可能会随着一次又一次的调用而变化。

例如:假若一个可执行文件被装入的地址是0x400000,并且从RVA0x1560处开始执行,那么有效的执行开始处将位于0x401560地址处。假若它被装入的地址为0x100000,那么执行开始处就位于0x101560地址处。

因为PE-文件中的各部分(各节)不需要像已载入的映象文件那样对齐,事情变得复杂起来。例如,文件中的各节常按照512(十六进制的0x200----译者注)字节边界对齐,而已载入的映象文件则可能按照4096(十六进制的0x1000----译者注)字节边界对齐。参见下面的“SectionAlignment(节对齐)”和“FileAlignment(文件对齐)”。

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:PE 文件 格式

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接