Hallo,
Wie der Titel schon sagt geht möchte ich Binärcode zur Laufzeit ausführen.
Genauer gesagt möchte ich einen bestimmten "Code-Teil" meines Programms auslesen und falls notwending daran Änderungen vornehmen und dann erst ausführen.
Momentan bin ich soweit das ich einen Zeiger auf eine Funktion erstelle und dann ihre Größe bestimmte.
Dann wollte ich eine Schleife machen und den Maschienencode auf den der Zeiger grade zeigt in einen Array schreiben, auf den ich dann letzendlich einen Funktionszeiger mache um ihn auszuführen.
Allerdings weiß ich nicht wie ich an den Code komme? Hier mal mein bisheriger Ansatz:
Könnt ihr mir weiterhelfen?
Liebe Grüße
Wie der Titel schon sagt geht möchte ich Binärcode zur Laufzeit ausführen.
Genauer gesagt möchte ich einen bestimmten "Code-Teil" meines Programms auslesen und falls notwending daran Änderungen vornehmen und dann erst ausführen.
Momentan bin ich soweit das ich einen Zeiger auf eine Funktion erstelle und dann ihre Größe bestimmte.
Dann wollte ich eine Schleife machen und den Maschienencode auf den der Zeiger grade zeigt in einen Array schreiben, auf den ich dann letzendlich einen Funktionszeiger mache um ihn auszuführen.
Allerdings weiß ich nicht wie ich an den Code komme? Hier mal mein bisheriger Ansatz:
Code:
void ausgabe()
{
cout << "HALLO \n";
}
void Ende(){}
int _tmain(int argc, _TCHAR* argv[])
{
void (*zeiger)();
zeiger = ausgabe;
zeiger();
unsigned long myFuncLen = (long)Ende - (long)ausgabe;
wait();
return 0;
}
Könnt ihr mir weiterhelfen?
Liebe Grüße