PE的节和汇编的段
很容易混淆的概念,下面列出的不全,有兴趣的来补充PE的常见节名:
.data
.rdata
.text
.edata 导出数据
.idata 导入数据
.pdata 异常表
.rsrc 资源数据
.reloc 基址重定位数据
.debug 调试数据
.tls 线程本地存储数据
.cormeta CLR数据
汇编伪指令段名
.data
.code
.stack
.data?
.const
.idata
.xdata
.bit
段名不一定是固定的。16位Turbo C++就有_TEXT、_DATA、_BSS段。
汇编的话更是。只要8个字符以内都可以。
还有就是多进程共享段的段名也是需要定义的。
VC的语句#pragma comment(linker,"/SECTION:foo,RWS")就是定义一个名为foo的共享段。
主要是段的Characteristics成员决定了段的特性。比如只读、可读写、可执行、共享、带有重定向资料等。段名只是起个标记作用,便于调试。
当然我们所见到的绝大多数PE文件都有固定的段名称。因此在WinHex等工具里看PE的时候可以根据段名来做粗略的判断。
页:
[1]