Edit: Titel angepasst, da Brummelchen eine Übersetzung erstellt hat, siehe weiter unten https://www.camp-firefox.de/forum/viewtopi…=706787#p706787
Moin,
da hier ein Mangel bei den Übersetzungsmöglichkeiten unter Windows herrscht, wird ein freundlicher Übersetzer für ein 32Bit XP gesucht.
Dieses schlichte Programm
#include <stdio.h>
#include <string.h>
char *
funktion (void) {
return "Befehle im Datenbereich ausführbar";
}
int
main (void) {
char datenbereich[1024];
char *(*zeiger)(void);
memcpy(datenbereich, funktion, 1024);
zeiger = (char *(*)(void)) datenbereich;
printf("%s", zeiger());
return (0);
}
Alles anzeigen
hätte ich gerne in einer unter XP 32Bit ausführbaren exe.
Das Progrämmelchen definiert eine Funktion "funktion", die einen Text als Zeiger auf eine Zeichenkette zurück gibt. - es könnte ja auch etwas böseres sein.
Im Hauptprogramm "main" wird diese Funktion in den Datenbereich "datenbereich" kopiert und nach einer kleinen Manipulation des Zeigers innerhalb des "printf" ausgeführt.
Wenn dann der Text "Befehle im Datenbereich ausführbar" im Fenster erscheint, ist das System verwundbar, ansonsten bricht das System das Programm, mit ggf. schmutzigen Bemerkungen, einfach ab.
Wenn sich jemand erbarmen würde - vielen Dank im Voraus.