Stack Buffer OverFlow

micsom_micsom's Avatar
Go4Expert Member
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..
0
xpi0t0s's Avatar, Join Date: Aug 2004
Mentor
Compile to assembly and you'll see exactly what is going on.
0
micsom_micsom's Avatar
Go4Expert Member
i am Using Dev c++, i can't find any option to see the assembly Code ...
0
xpi0t0s's Avatar, Join Date: Aug 2004
Mentor
"-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?
0
micsom_micsom's Avatar
Go4Expert Member
No such options ...