WEB开发网
开发学院网络安全黑客技术 PE文件格式(1) 阅读

PE文件格式(1)

 2007-01-14 20:15:09 来源:WEB开发网   
核心提示: DOSSTUB的概念在16位WINDOWS可执行文件内就已经被熟知了,STUB是用于OS/2可执行文件,PE文件格式(1)(3),自解压文档和其他程序,对于PE文件,从上到下描述其成员,第1:Machine,16位值,它是DOS2兼容可执行文件,总是包含100字节内容

DOSSTUB的概念在16位WINDOWS可执行文件内就已经被熟知了,STUB是用于OS/2可执行文件,自解压文档和其他程序。对于PE文件,它是DOS2兼容可执行文件,总是包含100字节内容,输出一个错误信息:比如"thisprogramneedswindowsNT".

你认识到一个DOSSTUB通过验证DOS-header,就是一个IMAGE_DOS_HEADER结构,前两个字节必须使"MZ"(有一个定义针对这个WORD,IMAGE_DOS_SIGNATURE)。你通过尾部的'e_lfanew'给出的偏移量所确定的签名区别一个PE文件。对于PE文件,它是一个32位,按照8字节对齐边界。其值0x00004550由IMAGE_NT_SIGNATURE定义.

IMAGE_NT_HEADERSSTRUCT
  Signature    DWORD         ?
  FileHeader    IMAGE_FILE_HEADER   <>
  OptionalHeader  IMAGE_OPTIONAL_HEADER32<>
IMAGE_NT_HEADERSENDS

文件头FileHeader

-----------

IMAGE_FILE_HEADERSTRUCT
  Machine       WORD  ?
  NumberOfSections   WORD  ?
  TimeDateStamp    DWORD ?
  PointerToSymbolTable DWORD ?
  NumberOfSymbols   DWORD ?
  SizeOfOptionalHeader WORD  ?
  Characteristics   WORD  ?
IMAGE_FILE_HEADERENDS

要得到IMAGE_FILE_HEADER,确认DOS头的前2个字节"MZ",然后找到'e_lfanew'成员,然后从文件开始跳过许多字节,验证你找到的签名。文件头作为一个IMAGE_FILE_HEADER结构,就从它后面开始。从上到下描述其成员。

第1:Machine,16位值,指明可执行文件所需要的系统。已知合法值如下:

上一页  1 2 3 4 5 6 7 8  下一页

Tags:PE 文件 格式

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