public static Elf64_SHdr Load(ImageReader rdr) { return new Elf64_SHdr { sh_name = rdr.ReadUInt32(), sh_type = (SectionHeaderType)rdr.ReadUInt32(), sh_flags = rdr.ReadUInt64(), sh_addr = rdr.ReadUInt64(), // Address sh_offset = rdr.ReadUInt64(), sh_size = rdr.ReadUInt64(), sh_link = rdr.ReadUInt32(), sh_info = rdr.ReadUInt32(), sh_addralign = rdr.ReadUInt64(), sh_entsize = rdr.ReadUInt64(), }; }
public static Elf64_PHdr Load(ImageReader rdr) { var hdr = new Elf64_PHdr { p_type = (ProgramHeaderType)rdr.ReadUInt32(), p_flags = rdr.ReadUInt32(), p_offset = rdr.ReadUInt64(), p_vaddr = rdr.ReadUInt64(), p_paddr = rdr.ReadUInt64(), p_filesz = rdr.ReadUInt64(), p_pmemsz = rdr.ReadUInt64(), p_align = rdr.ReadUInt64(), }; return hdr; }
public ushort e_shstrndx; // section name string table index public static Elf64_EHdr Load(ImageReader rdr) { return new Elf64_EHdr { e_type = rdr.ReadUInt16(), e_machine = rdr.ReadUInt16(), e_version = rdr.ReadUInt32(), e_entry = rdr.ReadUInt64(), e_phoff = rdr.ReadUInt64(), e_shoff = rdr.ReadUInt64(), e_flags = rdr.ReadUInt32(), e_ehsize = rdr.ReadUInt16(), e_phentsize = rdr.ReadUInt16(), e_phnum = rdr.ReadUInt16(), e_shentsize = rdr.ReadUInt16(), e_shnum = rdr.ReadUInt16(), e_shstrndx = rdr.ReadUInt16(), }; }