Funktionszeiger und Shellcode
-
natürlich ist das möglich. das man dir wenigstens die richtige antwort
im ersten post nicht gegeben hat. tzzz...void (*fp)() = reinterpret_cast<void(*)()>(shellcode);einfach reincasten

-
Nonono, not possible, geht das nicht:
There is no context in which this conversion is possible
-
Kenn0r@Ausland schrieb:
Nonono, not possible, geht das nicht:
There is no context in which this conversion is possible
Das sagt wer?
Ich denke auch, daß das geht.
-
el visual estudio 2008
-
keksdose2 schrieb:
natürlich ist das möglich. das man dir wenigstens die richtige antwort im ersten post nicht gegeben hat. tzzz...
Hatte ja nicht direkt erwartet, eine Antwort zu bekommen die sofort richtig ist, wollte aber auch klar machen in welche Richtung die Antwort gehen sollte

Mal ganz nebenbei, gcc/g++ schluckt das anstandslos - danke!
-
Afaik geht das nicht, also Datenzeiger auf Codezeiger zu casten (nach Standard), würde auch Sinn machen, man denke an eine Harvard-Architektur.
-
Tippgeber schrieb:
Afaik geht das nicht, also Datenzeiger auf Codezeiger zu casten (nach Standard)
Dochdoch, geht schon, ist schliesslich C++.

Man muss halt zu einer
uniongreifen. Aber ob das Sinn macht...
-
Natürlich ist das Verhalten vom Standard nicht gedeckt. Auch nicht mit union.
-
Es geht in C++ nur mit einer Uni0n.
-
char *data = 0; void (*pfunc)() = reinterpret_cast<void (*)()>(data); pfunc();ohne probleme (visual studio 08)
-
Aso, aha, also mit "char code[] = ..." gehts ned, aber mit "char* code = ..." schon.
Komisch?