Intercepting Direct3D COM Objects and Making Game Walls Invisible

July 1st, 2013 | Posted by Sebastian Wain in C# | C++ | Deviare | Games

Using Deviare to Cheat on Games

This simple Deviare code allows you to to see through game walls. We intercept Direct3D objects and select wireframe mode so the walls are transparent. This code injects a DLL to create an object based on the IDirect3D9 interface and hook the address of the CreateDevice COM method from the virtual table. The hooked CreateDevice COM method receives an object with IDirect3DDevice9 interface, which is used to set the wireframe mode by calling pDeviceInterface->SetRenderState(D3DRS_FILLMODE, D3DFILL_WIREFRAME). The pDeviceInterface->SetRenderState(D3DRS_FILLMODE, D3DFILL_SOLID) call reverts to the solid mode. You can switch between the wireframe and the solid modes by using the INSERT and DELETE keys.

Deviare can be used to develop a lot of other game tools. Some ideas to try yourself are:

  • Hooking the random function in the Minesweeper to return zero and solve the game with just one click
  • Retrieving the 3D models from games which encrypt them
  • Implementing an Aimbot

It would be a dangerous thing for the gamer community if streamed online games such as OnLive succeeded. You cannot reverse engineer the cloud. Game cheating has a long early history, it would be bad to cut it. Gamers have been cheating on video games since their invention. It would be a shame to stop the fun.

Prerequisites

  1. Deviare interception engine

Acknowledgments

Code sample written by Douglas from Nektra.

If you like this article, you might also like:

  1. Controlling the Speed of YouTube, Flash, HTML5, and Desktop Videos with Deviare Hooks
  2. Automating Google’s Doodles: 4.9 Second Record on Hurdles
  3. SQL Server Interception and SQL Injection Attack Prevention

You can follow any responses to this entry through the RSS 2.0 Responses are currently closed, but you can trackback.