手工添加一个节区(简单拷贝)

本文介绍了如何手动向PE文件中添加一个新的节区,详细阐述了操作步骤,包括复制现有节区、填充0、更新PE头信息、修正节区属性等,确保新增节区在文件和内存中的正确定位。
摘要由CSDN通过智能技术生成

思路:
1) 添加一个新的节(可以copy一份)
2) 在新增节后面 填充一个节大小的000
3) 修改PE头中节的数量
4) 修改sizeOfImage的大小
5) 再原有数据的最后,新增一个节的数据(内存对齐的整数倍).
6)修正新增节表的属性
重点关注的几个结构:
1.PE标准头的NumberOfSections
2.节区头的VirtualAddress、SizeOfRawData、VirtualSize、PointerToRawData(这些是用来确定在新增节区在文件和内存中的位置,需要考虑偏移量)
3.可选头的SizeOfImage
操作过程(随便找一个程序为例):
现在有5个节区,我们目的是向其中添加一个同样的.data2节区
在这里插入图片描述在这里插入图片描述
首先修改FileHeader->NumberOfSections结构为6在这里插入图片描述
最后一个节区头的后面拷贝一个和.data相同的结构,执行一下,发现添加上了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值