Date: Sat, 6 Mar 2004 15:44:04 +0000 From: chungwei Hsiung <chsiung2@buffalo.edu> To: des@des.no (Dag-Erling =?ISO-8859-1?Q?Sm=F8rgrav?=) Cc: freebsd-hackers@freebsd.org Subject: Re: Strange instructions in compiler output Message-ID: <20040306154404.7da5ba81@bear.bflony.adelphia.net> In-Reply-To: <xzpllmdu37s.fsf@dwp.des.no> References: <4048CA38.6040203@yahoo.com> <20040305233209.GO67801@wantadilla.lemis.com> <20040306142651.314430be@bear.bflony.adelphia.net> <20040306202517.GA8384@x-anthony.com> <xzpllmdu37s.fsf@dwp.des.no>
next in thread | previous in thread | raw e-mail | index | archive | help
thanks for the reply compile the code by=20 gcc -o shellcode -ggdb -static shellcode.c actually giving me the code you showed below I still don't understand it because we are supposed to pass in the op code = 0xb to %eax, and arguments to %ebx, %ecx, and %edx before calling interupt,= but I can't see any of those instruction anywhere. Did I miss anything? best regards, Chungwei On Sat, 06 Mar 2004 21:31:51 +0100 des@des.no (Dag-Erling Sm=F8rgrav) wrote: > Anthony Schneider <anthony@x-anthony.com> writes: > > On Sat, Mar 06, 2004 at 02:26:51PM +0000, chungwei Hsiung wrote: > > > gcc -o shellcode -ggdb -static shellcode.c > > try compiling with the -static flag the gcc. >=20 > Reading is fast becoming a lost art... >=20 > Anyway, here's the code for execve(): >=20 > 08048224 <__sys_execve>: > 8048224: b8 3b 00 00 00 mov $0x3b,%eax > 8048229: cd 80 int $0x80 > 804822b: 72 ef jb 804821c <main+0x3c> > 804822d: c3 ret > 804822e: 90 nop > 804822f: 90 nop >=20 > exciting, huh? oh, and the code that calls it: >=20 > 8048201: 6a 00 push $0x0 > 8048203: 8d 45 f8 lea 0xfffffff8(%ebp),%eax > 8048206: 50 push %eax > 8048207: ff 75 f8 pushl 0xfffffff8(%ebp) > 804820a: e8 15 00 00 00 call 8048224 <__sys_execve> > 804820f: 83 c4 10 add $0x10,%esp >=20 > DES > --=20 > Dag-Erling Sm=F8rgrav - des@des.no >=20
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040306154404.7da5ba81>