RedWing
Erfahrenes Mitglied
Hallo,
also unter Windows ist die Differenz bei mir für einen 18 Byte großen Puffer
44 Byte
Ich weiß nicht wieso:
Weiterhin hab ich mal folgendes Programm unter Linux gedebugt:
Also das sollten 26 a's sein. Sprich 18 a's für den Puffer. 4 a's für den
Framepointer, und mit den letzten 4a's wird der eip überschrieben.
Folgendes kam dabei dann raus:
Eventuell versuchst du das auch mal bei dir, würd mich intressieren was bei rumkommt.
Das mit diesen 44 Bytes unter Windows hab ich keine Erklärung dafür![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
Gruß,
RedWing
also unter Windows ist die Differenz bei mir für einen 18 Byte großen Puffer
44 Byte
![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
Code:
stack address of b =0x22eedc
stack address of test =0x22eee0
stack address of a =0x22ef0c
gcc (GCC) 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)
Copyright (C) 2004 Free Software Foundation, Inc.
Dies ist freie Software; die Kopierbedingungen stehen in den Quellen. Es
gibt KEINE Garantie; auch nicht f"ur VERKAUFBARKEIT oder F"UR SPEZIELLE ZWECKE.
CYGWIN_NT-5.1 euklid 1.5.18(0.132/4/2) 2005-07-02 20:30 i686 unknown unknown Cygwin
Weiterhin hab ich mal folgendes Programm unter Linux gedebugt:
Code:
#include <stdio.h>
#include <string.h>
int foo(){
char test[18];
strcpy(test, "aaaaaaaaaaaaaaaaaaaaaaaaaa");
return 0;
}
int main(){
foo();
return 0;
}
Framepointer, und mit den letzten 4a's wird der eip überschrieben.
Folgendes kam dabei dann raus:
Code:
(gdb) r
Starting program: /home/redwing/a.out
Program received signal SIGSEGV, Segmentation fault.
0x61616161 in ()
(gdb) info frame
Stack level 0, frame at 0xbfad770c:
eip = 0x61616161; saved eip 0x61616161
called by frame at 0xbfad7710
Arglist at 0xbfad7704, args:
Locals at 0xbfad7704, Previous frame's sp is 0xbfad770c
Saved registers:
eip at 0xbfad7708
(gdb) q
The program is running. Exit anyway? (y or n) y
Das mit diesen 44 Bytes unter Windows hab ich keine Erklärung dafür
![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
Gruß,
RedWing