Stack Buffer OverFlow

Go4Expert Member
28Oct2009,17:30   #1
micsom_micsom's Avatar
i was just going through one of the articles and i thought about trying this

char *pEvil="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzzzzzz";

int main(){
char Good[2];
strcpy(Good,pEvil);
return 1;
}

this will crash saying that it is unable to access the memory whose location is "zzzz" in hexa(This is the expected)..i was just trying to figure out how the ESP and EBP is getting Corrupted here...

can any1 plzz explain..
Mentor
28Oct2009,17:55   #2
xpi0t0s's Avatar
Compile to assembly and you'll see exactly what is going on.
Go4Expert Member
28Oct2009,17:58   #3
micsom_micsom's Avatar
i am Using Dev c++, i can't find any option to see the assembly Code ...
Mentor
28Oct2009,18:56   #4
xpi0t0s's Avatar
"-o source.s" might do the trick. I don't know, I use Visual Studio.
Alternatively if you build the program, start it in debug mode and put a breakpoint on the first line of code, is there a "view assembler" option in the debugger?
Go4Expert Member
28Oct2009,19:37   #5
micsom_micsom's Avatar
No such options ...