Intercepting Direct3D auf 64 bit Windows Systemen
-
hi
Ich habe ein Programm geschrieben, das die d3d9.dll interceptet. Ich zeichne damit ein Overlay auf rFactor. Das Ganze funktioniert wunderbar auf 32 bit Windosen aber leider gar nicht auf 64 bittern. Ich verwende M$ Visual C++ 2005 Express und habe es auch schon mit 2008 Express ausprobiert. Ich habe schon verschiedene DirectX SDKs ausprobiert. Das macht aber keinen Unterscheid.
Gibt es irgendwelche Compiler-Switches, die man dafür setzen muss? Oder muss ich vielleicht sogar einen anderen Compiler verwenden, der mit 64 bit umgehen kann (was die Express Editionen ja nicht können)? Es würde mich eigentlich wundern, da rFactor selbst ja eine 32 bit Anwendung ist.
Ich habe schon so viel ausprobiert und mir die Finger wund gegoogelt. Ich hoffe, hier kann mir jemand helfen. Irgendwie muss das doch möglich sein. Andere scheinen das ja auch zu schaffen.
Gruß,
Marvin
-
Hat das nie jemand versucht?
-
Hi,
ich hab gerade auch gedanklich dieses vor.
Mir ist gänzlich unbekannt, ob D3D IN 64Bit OS nicht doch noch 32 Bit ist?
Die Übergabeparameter sind ja nun Speichertechnisch anders wenn ich an Pointer denke. Aber wie laufen dann die 32Bit Spiele im Kompatibilitätsmodus von 64Bit?
Evtl. könnte man mit Hooks arbeiten, aber ob diese noch funktionieren?Man sieht, Fragen über Fragen ...
Hast du schon Antworten?
-
Interceptions, injections, hooks und alle diese Dinge wurden ab Vista 64 unter anderem aus sicherheitstechnischen Überlegungen zusammengestrichen und/oder erschwert; nur ein Teil von dem, was unter 32-bit XP möglich war, funktioniert noch. Von 64-bit Code hooks installieren, welche auf 32-bit Code Einfluss nehmen, geht bestimmt nicht ohne weiteres. Aber die alten 32-bit hooks funktionieren auch nicht mehr, also wird es wohl oder übel kompliziert...
-
Also ich habe hier durchaus eine lauffähige D3D9.DLL (x86 compiliert) die mir eine Overlay bastelt. Diese funktioniert auch unter 64Bit Vista mit einem 32Bit D3D Game. Allerdings kommt es mir so vor, als würde das OS nun mehr die lokalen Dateien im Verzeichniss ignorieren und dafür die im Windows Verzeichniss benutzen. Auch Programme die D3D9 mit LoadLibrary laden scheiden völlig aus. Bei einigen Programmen funktioniert es.
Für rFactor nimmt man übrigends das eigene Pluginsystem um in den Bildschirm zu zeichnen.Zu den Hooks: Fraps, Cheatengine, Gameoverlay, ATI Traytools, XFire
All diese Programme funzen beidseitig und verwenden D3D und OpenGL Hooks.
Nur wissen die Herren eindeutig mehr über die Materie
Bei den ATI Tray Tools liegt eine Overlay DLL Datei bei, die man verwenden kann.Kann doch eigentlich so schwer nicht sein!
-