节区头 节区属性设置
下面描述几个常用的:
IMAGE_SCN_CNT_CODE 包含代码,常与0x10000000一起设置
IMAGE_SCN_CNT_INITIALIZED_DATA 包含已初始化的数据
IMAGE_SCN_CNT_UNINITIALIZED_DATA 包含未初始化的数据
IMAGE_SCN_MEM_DISCARDABLE 该区块可被丢弃,因为当它一旦被装入后,进程就不再需要它了,典型的如重定位区块。
IMAGE_SCN_MEM_SHARED 为共享区块
IMAGE_SCN_MEM_EXECUTE 可执行。通常当0x00000020被设置的时候,该标志也被设置
IMAGE_SCN_MEM_READ 可读,
IMAGE_SCN_MEM_WRITE 可写。
各个节区的名称与含义
-
.text:代码节(VC)
-
.code: 代码节(VB/Delphi)
-
.data: 数据节(一般存放已初始化的全局变量,静态变量)
-
.rdata: 只读数据节(一般存放只读数据,如常量字符串,C++虚表) .idata : 输入数据表(一般用来存放IAT和导入表)
-
.bss: 通常是指用来存放程序中未初始化的全局变量、静态变量 .textbss : 节中同时包含代码和未初始化全局变量、静态变量
-
.rsrc: 资源节
-
.reloc: 重定位表