//合并节
PIMAGE_SECTION_HEADER andRE = pSection;
andRE->SizeOfRawData = andRE->Misc.VirtualSize > andRE->SizeOfRawData ? andRE->Misc.VirtualSize : andRE->SizeOfRawData;
andRE->SizeOfRawData = pOption->SizeOfImage - andRE->VirtualAddress;
andRE->Misc.VirtualSize = andRE->SizeOfRawData;
//修改节的属性
andRE->Characteristics = andRE->Characteristics | (pSection + 1)->Characteristics | (pSection + 2)->Characteristics;
printf("三个节的属性:%08x", andRE->Characteristics);
//修改节表个数
pFile->NumberOfSections = 0x1;
return Imagebuffer;
主要操作就在这一点 先修改对齐 然后 修改节的属性 与节表数 进行存盘就结束了
写的不是这么好 有不懂的可以私信我嘻嘻
实验代码
合并节
#include <iostream>
#include <windows.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#pragma warning(disable : 4996)
#define open