IDirectPlay8Client::Send() hooken...
-
Hey!
Ich muss die IDirectPlay8Client::Send() Methode eines DirectPlay8-Servers hooken, welcher von einem Programm erstellt wurde (Gameserver).
Keine Ahnung, wie ich da rangehen soll. Immerhin ist es keine globale Funktion sondern an ein Objekt gebunden. Das wird nix mit MS Detours, oder?(Ziel ist es, Netzwerkpakete zu modifizieren, bevor sie die gameserver application erreichen)
Bin für jeden Tipp dankbar!
MfG
-
Das Problem ist, dass ich den hook bei laufender Anwendung setzen will, daher ist das IDirectPlay8Client-Interface schon längst erstellt worden...
MfG
-
Hm, ich bin hier nicht experte, aber kannst du die Funktion hooken, mit welcher das Programm das Interface-Objekt sich holt?
Vielleicht könntest du auch durch einen Debugger/Disassembler schauen, wo das Programm das Objekt ablegt und jeden Aufruf von "call IDirectPlay8Client::Send() (<--- hier adresse der Send()-Funktion)" durch "call AdresseDeinerFunktion" im RAM überschreiben... aber da frag lieber jemanden anderen :).
-
Mit disassemblieren hab ich absolut nix am Hut.
Das Problem ist, dass der DirectPlay8 Server wohl beim Start das Objekt erzeugt (Also die Create-Funktion aufruft) und die kann ich nicht hooken, da meine Anwendung meist erst später startet... (Ist so gewollt)
MfG