
ich habe mich in letzter Zeit ein bisschen mit Pentesting auseinandergesetzt und denke, das würde meine Freizeitaktivitäten hervorragend ergänzen.

Hier mein C-Code:
- Code: Alles auswählen
#include <string.h>
void func(char *src, char *dest){
strcpy(dest, src);
}
int main(int argc, char *argv[]){
char var[20];
func(argv[1], var);
return 0;
}
und ein Python-Skript, das Input generiert:
- Code: Alles auswählen
l = 100*["A"]
print(''.join(l))
So weit, so gut. Das blöde daran ist nur, dass ich zwar ESP überschreiben kann, aber nicht EIP. Das bleibt auf die Adresse in main gesetzt. Keine Ahnung, wieso das so ist... Eigentlich sollte EIP ja die Adresse zugewiesen bekommen, der im Speicher vor dem Stack, also bei ESP+4 beispielsweise, gespeichert ist. Oder habe ich da was falsch verstanden?
Vielen Dank im Voraus und schönes Wochenende
schroedingerscat
P.S.: Ich weiss, dass ich hier im völlig falschen Forum poste (naja, nicht ganz, meine Frage war ja eigentlich, ob Mageia da "im Weg steht", was ja für unsere Distro spräche
