节表

26 篇文章 2 订阅


在这里插入图片描述

一、节表结构

#define IMAGE_SIZEOF_SHORT_NAME 8			
typedef struct _IMAGE_SECTION_HEADER {		
    BYTE    Name[IMAGE_SIZEOF_SHORT_NAME];	//ASCII字符串 可自定义  只截取8个 可以8个字节都是名字	
    union {				//Misc  双字 是该节在没有对齐前的真实尺寸,该值可以不准确
            DWORD   PhysicalAddress;		// 真实长度,这两个值是一个联合结构,可以使用其中的任何一个                     
           	DWORD     VirtualSize;	 //一般是取后一个		
			
    } Misc;					
    DWORD   VirtualAddress;		//在内存中的偏移地址,加上ImageBase才是在内存中的真正地址	
    DWORD   SizeOfRawData;		//节在文件中对齐后的尺寸				
    DWORD   PointerToRawData;		//节区在文件中的偏移			
    DWORD   PointerToRelocations;		//调试相关			
    DWORD   PointerToLinenumbers;				
    WORD    NumberOfRelocations;				
    WORD    NumberOfLinenumbers;				
    DWORD   Characteristics;		//节的属性			
} IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER;

SizeOfRawData  和 联合体VirtualSize的值 的关系 
联合体的大小可能大于 SizeOfRawData 。可能等于 也可能小于  
没有初始化的变量在文件中是不分配内存的 ,如果没有初始化的全局变量特别多的话,联合体的值可能会SizeOfRawData 大
	
他们谁大 按谁的来

DWORD Characteristics:
在这里插入图片描述

二、节表个数

1、有几个节表,就有几个节
2、节表个数存储在标准PE头第二个成员中,WORD NumberOfSections;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值