0x080484ad <+0>: push ebp
0x080484ae <+1>: mov ebp,esp
0x080484b0 <+3>: and esp,0xfffffff0
0x080484b3 <+6>: sub esp,0x10
0x080484b6 <+9>: cmp DWORD PTR [ebp+0x8],0x2
0x080484ba <+13>: je 0x80484c8 <main+27>
0x080484bc <+15>: mov DWORD PTR [esp],0x0
0x080484c3 <+22>: call 0x8048380 <exit@plt>
0x080484c8 <+27>: mov eax,ds:0x804a030
0x080484cd <+32>: mov DWORD PTR [eax],0x64
0x080484d3 <+38>: mov eax,ds:0x804a030
0x080484d8 <+43>: mov DWORD PTR [esp+0x8],0x68
0x080484e0 <+51>: mov DWORD PTR [esp+0x4],0x0
0x080484e8 <+59>: mov DWORD PTR [esp],eax
0x080484eb <+62>: call 0x80483a0 <memset@plt>
0x080484f0 <+67>: mov eax,DWORD PTR [ebp+0xc]
0x080484f3 <+70>: add eax,0x4
0x080484f6 <+73>: mov eax,DWORD PTR [eax]
0x080484f8 <+75>: mov edx,DWORD PTR ds:0x804a030
0x080484fe <+81>: add edx,0x4
0x08048501 <+84>: mov DWORD PTR [esp+0x4],eax
0x08048505 <+88>: mov DWORD PTR [esp],edx
---Type <return> to continue, or q <return> to quit---
0x08048508 <+91>: call 0x8048350 <strcpy@plt>
0x0804850d <+96>: mov eax,ds:0x804a030
0x08048512 <+101>: add eax,0x4
0x08048515 <+104>: mov DWORD PTR [esp],eax
0x08048518 <+107>: call 0x8048360 <puts@plt>
0x0804851d <+112>: mov eax,0x0
0x08048522 <+117>: leave
0x08048523 <+118>: ret
#include <stdio.h>
#include <string.h>
char buffer[100];
int main(int argc, char *argv[])
{
if(argv[0]!=2)
{
exit(0);
}
memset(buffer,0,104);
strcpy(buffer,argv[1]);
put(buffer);
}