namespace X86Disassembler.PE.Parsers;
///
/// Parser for the File header of a PE file
///
public class FileHeaderParser : IParser
{
///
/// Parse the File header from the binary reader
///
/// The binary reader positioned at the start of the File header
/// The parsed File header
public FileHeader Parse(BinaryReader reader)
{
FileHeader header = new FileHeader();
header.Machine = reader.ReadUInt16();
header.NumberOfSections = reader.ReadUInt16();
header.TimeDateStamp = reader.ReadUInt32();
header.PointerToSymbolTable = reader.ReadUInt32();
header.NumberOfSymbols = reader.ReadUInt32();
header.SizeOfOptionalHeader = reader.ReadUInt16();
header.Characteristics = reader.ReadUInt16();
return header;
}
}