Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi DirectX VTable Hook, warum muss ich reattachen? (https://www.delphipraxis.net/172960-directx-vtable-hook-warum-muss-ich-reattachen.html)

Zacherl 30. Jan 2013 13:08

DirectX VTable Hook, warum muss ich reattachen?
 
Hey Leute,

ich habe eine kleine DLL geschrieben, welche die DirectX(9) Funktionen Present() und Reset() hookt. Klappt auch alles wunderbar, ist ja keine große Sache. Die Probleme gibt es nun aber, wenn ich z.b. FRAPS oder andere Videoaufnahme-Programme geöffnet habe. Diese Programme hooken ebenfalls benannte Funktionen, sind sich allerdings zu fein vorher meine geänderten Instruktionen zu sichern, oder meinen Hook zu verfolgen. Resultat: Crash!

Nun habe ich über andere Hooking Methoden nachgedacht und wollte mal einen simplen VTable Hook ausprobieren. Diesen anzubringen funktioniert auch sehr gut, allerdings werden meine Änderungen in periodischen (sehr kurzen) Intervallen wieder rückgängig gemacht.

Eine Möglichkeit wäre es meine Hook in einer Endlosschleife neu zu attachen, allerdings sagt mir diese Lösung absolut nicht zu.

:arrow: Um andere Lösungen zu finden, würde ich gerne verstehen, warum die VTable des IDirect3DDevice9 Interfaces immer wieder neu geschrieben wird. Kann mir hier eventuell jemand genauere Infos geben?

Vielen Dank und viele Grüße
Zacherl

Neotracer 23. Mär 2013 18:53

AW: DirectX VTable Hook, warum muss ich reattachen?
 
Habe das gleiche Problem? Schon eine Lösung gefunden?


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:29 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz