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

PE文件格式(2)

 2007-01-14 20:15:04 来源:WEB开发网   
核心提示:下面一个成员是'PhysicalAddress'和'VirtualSize'的32位联合体.在目标文件,该地址是内容被重定位的地址,PE文件格式(2),在可执行文件内是内容的尺寸,实际上该域好像没有被使用,bit12(IMAGE_SCN_LNK_COMDAT)置1,节包含公共块数据,有的

下面一个成员是'PhysicalAddress'和'VirtualSize'的32位联合体.在目标文件,该地址是内容被重定位的地址,在可执行文件内是内容的尺寸。实际上该域好像没有被使用,有的链接器填入尺寸有的链接器填入地址,有的链接器填入0。

下一个成员是'VirtualAddress',32位,保存当节的数据加载入内存时的RVA。

然后是32位'SizeOfRawData',是四舍五入到下个FileAlignment'倍数的大小。

下一个是'PointerToRawData',32位,它是从文件起始到节数据的偏移量。如果是0,节数据不包含在文件内,在加载时被确定。

然后是'PointerToRelocations',32位,和'PointerToLinenumbers',32位,'NumberOfRelocations',16位,'NumberOfLinenumbers',16位.所有这些信息仅仅用于目标文件。可执行文件有一个特殊的基准重定位目录,如果存在行号信息,一般包含在特殊目的的调试段或其他。

最后一个是32位的'Characteristics',它是一组标志描述如何处理节的内存。

bit5(IMAGE_SCN_CNT_CODE),置1,节内包含可执行代码。  

bit6(IMAGE_SCN_CNT_INITIALIZED_DATA)置1,节内包含的数据在执行前是确定的。  

bit7(IMAGE_SCN_CNT_UNINITIALIZED_DATA)置1,本节包含未初始化的数据,执行前即将被初始化为0。一般是BSS.

bit9(IMAGE_SCN_LNK_INFO)置1,节内不包含映象数据除了注释,描述或者其他文档外,是一个目标文件的一部分,可能是针对链接器的信息。比如哪个库被需要。

bit11(IMAGE_SCN_LNK_REMOVE)置1,在可执行文件链接后,作为文件一部分的数据被清除。

bit12(IMAGE_SCN_LNK_COMDAT)置1,节包含公共块数据,是某个顺序的打包的函数。

1 2 3 4 5 6  下一页

Tags:PE 文件 格式

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