If you would have googled for COFF specification, it would lead you to Section Table (Section Headers).
The dump apparently contains three COFF section headers. If you prefer their description in assembly, here you are:
COFF_SECTION_HEADER STRUC
.Name DB 8*BYTE ; Section name, NULL padded.
.VirtualSize DD ; Total aligned section size when loaded in memory.
.VirtualAddress DD ; RVA of section relative to ImageBase when loaded.
.SizeOfRawData DD ; Section size in the file (before loaded).
.PointerToRawData DD ; File pointer to section data.
.PointerToRelocations DD ; File pointer to relocations. NULL if no relocations.
.PointerToLinenumbers DD ; File pointer to line-number entries or NULL.
.NumberOfRelocations DW ; Number of relocation entries for this section.
.NumberOfLinenumbers DW ; Number of line-number entries for this section.
.Characteristics DD ; Section properties.
ENDSTRUC
Keep on mind that in LittleEndian the DWORDs start with the less significant byte (reversed), for instance .VirtualSize
of .text
section, which is dumped as 00100000
is in fact 0x00001000
, i.e. 1 KB when loaded in memory.
Size of .data
or .text
section in PE file is kept in the member .SizeOfRawData
.