• Stars
    star
    165
  • Rank 228,906 (Top 5 %)
  • Language
    C++
  • Created almost 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Barebones D3D11 hook.

GH D3D11 Hook

Barebones D3D11 hook.

x86/x64 Compatible

This is about the simplest example I could create for hooking DirectX 11. The code is heavily commented and doesn't rely on any external libraries. As long as you have a recent version of the Windows SDK then this code should run.

The example is a DLL that you inject into a game using DirectX 11 and it should render a triangle in the top left corner of the screen.

The code creates a dummy device and swapchain to get the address of Present out of the dummy swapchain's virtual method table. Then we create a simple trampoline hook to detour Present and render our triangle.

While the code isn't extremely elegant, it's not meant to be. This is just a simple PoC to demonstrate one way, a fairly decent way imo, of hooking direct3d 11 and rendering our own simple geometry.

screenshot

BareBones D3D11 Hook Thread on GH