[D3D11] Overlay... Wie?

Für Fragen zu Grafik APIs wie DirectX und OpenGL sowie Shaderprogrammierung.
Antworten
DomiOh
Establishment
Beiträge: 132
Registriert: 08.10.2002, 14:44

[D3D11] Overlay... Wie?

Beitrag von DomiOh »

Hallo,

wie kann man ein Direct3D Overlay (bevorzugt D3D10/D3D11) programmieren? (so wie Fraps, Steam, Teamspeak etc.)
Es scheint via Hooking zu funktionieren.
Hat das mal jemand gemacht? Ohne Detours oder EasyHook - einfach von hand?
(für 32 und 64bit)

Wenn ja, wäre ich happy wenn mir jemand ein wenig helfen würde.

Gruß,
Domi
Benutzeravatar
dot
Establishment
Beiträge: 1745
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: [D3D11] Overlay... Wie?

Beitrag von dot »

Hooking ist das Stichwort. Gemacht hab ich's noch nie, aber damit solltest du bei google eigentlich genug finden.
DomiOh
Establishment
Beiträge: 132
Registriert: 08.10.2002, 14:44

Re: [D3D11] Overlay... Wie?

Beitrag von DomiOh »

Tja, genau da liegt das Problem. Hooking schön und gut, aber diese "Tutorials" sind teils veralted, nicht mehr auf D3D11 basierend (meist nur auf D3D9), die Lösungen werden von einigen Anti-Cheat-Engines als Cheating "detected" und viele basieren eben auf Dertours und EasyHook. Bei beiden gefällt mir die Lizenz nicht besonders.
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: [D3D11] Overlay... Wie?

Beitrag von Artificial Mind »

Ist die Lizenz wirklich dein Hauptproblem beim Hooking?

Also wir haben es über eine Proxy-Dll gelöst, sprich: die komplette d3d11.dll durch eine eigene ersetzen, die im Wesentlichen alle Aufrufe an eine gespeicherte Original-Dll weiterleitet und nur bei den interessanten Funktionen was verändert. Ist etwas aufwendiger, dafür aber wesentlich schwerer zu detecten und man ist auch direkt bei Programmstart geladen.
DomiOh
Establishment
Beiträge: 132
Registriert: 08.10.2002, 14:44

Re: [D3D11] Overlay... Wie?

Beitrag von DomiOh »

Gute Idee. Das Problem dabei ist, dass ich gar nicht wüsste wie ich das Anfange...
Aber die Idee ist klasse.

Edit: D.h. ihr habt in eurem Programmverzeichnis eine eigene d3d11.dll ?
Antworten