PE文件格式(2)
2007-01-14 20:15:04 来源:WEB开发网节的原始数据Sections'rawdata
------------------
概要-------
所有的节调入内存后按照'SectionAlignment'对齐,FileAlignment'是节在文件内对齐字节数。节由节头内的项目来描述,可以通过'PointerToRawData'在文件内找到节,在内存内通过'VirtualAddress'找到节,长度是'SizeOfRawData'.
根据他们包含的内容,有几种节。一般至少有一个数据目录指向的内容保存在一个节内。
代码节codesection
------------
本节至少含有一个标志位'IMAGE_SCN_CNT_CODE','IMAGE_SCN_MEM_EXECUTE'and
'IMAGE_SCN_MEM_READ'的集合,并且“可选头”的成员'AddressOfEntryPoint'指向这个节内的某个地方。“可选头”的成员'BaseOfCode'将指向这个节的开始,如果把非代码放在代码之前,也有可能指向后面某个地方。一般除了可执行代码,没有其他东西,一般只有一个代码节。一般的名字如:".text",".code","AUTO"。
数据节datasection
------------
本节包含初始化过的静态变量,例如"staticinti=5;".他含有这些位'IMAGE_SCN_CNT_INITIALIZED_DATA','IMAGE_SCN_MEM_READ'及'IMAGE_SCN_MEM_WRITE'等.有的链接器把常量数据放在没有可写标志位的节内。如果部分数据是共享的,或者有其他特性的话,节将包含更多的特征位集。节一般在'BaseOfData'到'BaseOfData'+'SizeOfInitializedData'的范围内.典型名字如:'.data','.idata','DATA'。
更多精彩
赞助商链接