# ELF Header Setup
# ================
# 64 Bytes of Data Total

# ELF Identifier
# --------------
# 16 Bytes of setup

# Magic Numbers - EI_MAG[0-3]
7f 45 4c 46

# File Class - EI_CLASS - 64 Bit
02

# Data Encoding - EI_DATA - Little Endian
01

# File Version - EI_VERSION - Version 1
01

# Target ABI - EI_OSABI - Zero for static executables
00

# Target ABI Version - EI_ABIVERSION - Zero for static executables
00

# EI_PAD - 7 Padded Bytes
00 00 00 00 00 00 00

# Rest of the Header
# ------------------

# File Type - e_type - Executable binary
02 00

# Architecture - e_machine - AMD 64 Architecture
3e 00

# Version Spec - e_version - Version 1
01 00 00 00

# Entry Point Location - e_entry
# 64 Bytes + 56 Bytes program header = 120 bytes
78 00 40 00 00 00 00 00

# Program Header Offset - e_phoff
# Right after this header which is 64 Bytes
40 00 00 00 00 00 00 00

# Section Header Table Offset - e_shoff
# 64 + 56 + 16 + 16
98 00 00 00 00 00 00 00

# Processor Flags - e_flags - No flags set
00 00 00 00

# ELF Header Size - e_ehsize - 64 Bytes
40 00

# Program Header Entry Size - e_phentsize - 56 Bytes
38 00

# Program Header Count - e_phnum - 1 Header
01 00

# Section Header Entry Size - e_shentsize - 64 Bytes
40 00

# Section Header Count - e_shnum
# Set to 3 based on example
03 00

##Section Header String Table Index - e_shstrndx
# Set to 2 based on example
02 00

