What this does is creates a remote thread in the process as its starting up and injects your hook and calls its DllMain (or main function of the DLL) and hooks the Direct3D9Create function. Firstly, this main tutorial method is via injection. Sorry, I don't know other languages outside of C++, MASM, and VB6 so you are on your own when translating.īefore we begin, let me go over what this does and how it works. The wrapper is where the most work comes to play so you will need to do that on your own. I am writing this tutorial to be used with C++ but you can translate it to what ever language you wish to program in as it's pretty basic and not too major.
(I suggest the "wrapper" method as most cheat detections don't find it as a hack due to some machines needing the d3d9.dll in that folder to work.)
At the end of this I will also include some instructions on how to turn this injected hook into a wrapper to the point where you can just compile it as d3d9.dll and drop it into your games directory and run it via that method too. I hope this helps someone and if not, sorry First and for most, this tutorial is strictly for DirectX 9 and I guarantee you it will not work for other versions without some major editing in the wrapper. Ok, so beings that this was requested, I decided to write this up.
DirectX 9.0 Hooking via Injection via C++