Dein Hook-Code sieht stark nach 32-Bit-Hooking aus, was aber bei 64-Bit-Prozessen so nicht funktioniert.
Selbst wenn Du also
deiner Katze sagst "Platz!" wird sie zwar nicht gleich abstürzen, aber zumindest auch nicht machen, was Du willst
Bliebe noch eine andere Unangenehmheit von Wow64-Prozessen: Die enthalten eigentlich alle System-DLLs doppelt: Einmal als 64-Bit und einmal als Trampolin in 32-Bit.
GetProcAddress liefert dir aber AFAIK nur die für das Trampolin.
Bliebe noch die Sache mit den
Pointern: Die sind 64-Bit bei 64-Bit-Code. Bei Wow64-Prozessen ist das aber gemischt und man muss anhand des Modulheaders abfragen, ob ein bestimmtes Code-Segment grade mit 32-Bit oder 64-Bit ausgeführt wird.
Wenn du nativen 64-Bit-Code hast, ist der 32-Bit-Jump trotzdem falsch.
Und zu guter letzt noch der Hinweis: Bitte
fang Fehlercodes ab.
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.