# In-Class Exercise 9: ELF File Construction

Create a Linux ELF executable by hand (e.g., using `xxd -p -r` or a hex editor) that just exits itself. Create an appropriate ELF header and program header table. (Why are section headers not required?)

As code, use:

- x86-64: `b83c00000031ff0f05` (`mov eax, 0x3c; xor edi, edi; syscall`)
- AArch64: `000080d2c80b80d2010000d4` (`mov x0, #0; mov x8, #94; svc #0`)

Bonus: optimize for smallest possible size.

## Solution

echo 'H4sIAAAAAAAAA6t39XFjZEAAZiA0ANIgzALE99buew/C//8rMDAy/P/vcLaBAQCgmwxvNAAAAA==' | base64 -d | gunzip > minielf