【2021.01.14】扩大节

#define IMAGE_SIZEOF_SHORT_NAME              8

typedef struct _IMAGE_SECTION_HEADER {
    BYTE    Name[IMAGE_SIZEOF_SHORT_NAME];
    union {
            DWORD   PhysicalAddress;
            DWORD   VirtualSize;
    } Misc;
    DWORD   VirtualAddress;
    DWORD   SizeOfRawData;
    DWORD   PointerToRawData;
    DWORD   PointerToRelocations;
    DWORD   PointerToLinenumbers;
    WORD    NumberOfRelocations;
    WORD    NumberOfLinenumbers;
    DWORD   Characteristics;
} IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER;

扩大节

  1. 分配一块新的空间,大小为S。
  2. 将最后一个节的 SizeOfRawData 和 VirtualSize改成N。
  3. N = (SizeOfRawData 或 VirtualSize 内存对齐后的值) + S。
  4. 修改 SizeOfImage大小。

注意:如果在新增的节中增加代码,那么新增的节应该要有可执行的属性。

猜你喜欢

转载自blog.csdn.net/qq_18120361/article/details/112636371