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

PE文件格式(1)

 2007-01-14 20:15:09 来源:WEB开发网   
核心提示: 'MinorImageVersion'.许多连接器不正确设置这些信息,下面2个16位的字是期望的子系统版本,PE文件格式(1)(8),'MajorSubsystemVersion和MinorSubsystemVersion.这个必须是Win32版本或者POSIX版本

'MinorImageVersion'.许多连接器不正确设置这些信息。

下面2个16位的字是期望的子系统版本,'MajorSubsystemVersion和MinorSubsystemVersion.这个必须是Win32版本或者POSIX版本。该版本需要正确提供,因为它被检查并使用。如果程序是Win32-GUI并运行在NT4,子系统版本不是4.0,对话框不是3D效果。

然后是Win32VersionValue,32位。大部分情况下是0。

下面是32位的映像需要的内存数量'SizeOfImage'.是所有的头和节的总和,如果节已经对齐。它是给加载器的线索,需要多少页加载映像。

下面一个是32位的所有头的总和,包括数据目录和节头。'SizeOfHeaders'.它也是才文件开始到第一节的偏移量。

然后是32位的校验码'CheckSum'.对当前版本的NT,只校验映像是否是NT驱动程序。对于其他可执行文件类型,不必提供这个码,可能为0。

然后是16的子系统Subsystem'表明在什么系统上运行:

IMAGE_SUBSYSTEM_NATIVE(1)执行文件不需要子系统,用于驱动程序。

IMAGE_SUBSYSTEM_WINDOWS_GUI(2)映像是Win32图形程序可以打开控制台  

IMAGE_SUBSYSTEM_WINDOWS_CUI(3)映像是Win32控制台程序,可以得到缺省控制台。

IMAGE_SUBSYSTEM_OS2_CUI(5)映像是OS/2控制台,程序是OS/2格式。  

IMAGE_SUBSYSTEM_POSIX_CUI(7)映像使用POSIX控制台子系统

Windows95可执行文件总是使用Win32subsystem,于是合法值是2和3。

下面是16位,DllCharacteristics,表明是否是DLL,如果0位置1,DLL被通知进程结合。位1置1,DLL被通知线程脱离。位2置1,DLL被通知线程结合。位3置1,DLL被通知进程脱离。

下面4个32位预留堆栈大小'SizeOfStackReserve',提交的堆栈大小'SizeOfStackCommit',预留的堆的大小'SizeOfHeapReserve'和提交的的堆的的大小'SizeOfHeapCommit'.

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

Tags:PE 文件 格式

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