############################################################################### # © Gustavo Romero López 2019 - GPLv3 - gustavo@ugr.es # gcc -m64 -nostartfiles 55.s -o 55 ############################################################################### .text .globl _start _start: xor %edi, %edi # 0 xor %eax, %eax mov $0x3, %al # close syscall # close(0) xor %esi, %esi mul %esi push %rax mov $0x7974742f7665642f, %rdi # "/dev/tty" push %rdi push %rsp pop %rdi mov $0x2, %sil # O_RDWR mov $0x2, %al # open syscall # open("/dev/tty", O_RDWR) mov $0x3b, %al # execve push %rdx # null mov $0x68732f2f6e69622f, %rbx # "/bin//sh" push %rbx push %rsp pop %rdi # "/bin//sh" push %rdx push %rdi push %rsp pop %rsi # {"/bin//sh", null} syscall # execve("/bin//sh", ["/bin//sh", NULL], NULL) stop: