Coder Social home page Coder Social logo

openmoblle / d3d9-hook-imgui Goto Github PK

View Code? Open in Web Editor NEW

This project forked from adamhlt/d3d9-hook-imgui

0.0 0.0 0.0 2.52 MB

D3D9 Hook with ImGui integration (x86 / x64) - Make DirectX 9 internal menu with ImGui

License: GNU General Public License v3.0

C++ 89.70% C 10.30%

d3d9-hook-imgui's Introduction

Project Banner

D3D9 Hook ImGui

C++ Windows x86 x64

๐Ÿ“– Project Overview :

D3D9 Hook with ImGui integration written in C++, works on x86 and x64 with all librairies and includes.

This use the dummy device technique to retrieve the virtual method table of DirectX 9.

Used librairies :

๐Ÿš€ Getting Started

This project use MS Detours library for hooking and obviously DirectX 9 SDK.

MS Detours library is already include in the project folder, but if you don't have DirectX SDK you can download it here.

Note
Make sure that DXSDK_DIR is declared in your environment variables.

To see your environment variables :

Settings --> System --> About --> System Advanced Settings --> Environment Variables

Visual Studio :

  1. Open the solution file (.sln).
  2. Build the project in Release (x86 or x64)

Every configuration in x86 / x64 (Debug and Realese) are already configured with librairies and includes.

Other IDE using CMAKE :

This CMakeLists.txt should compile the project.

cmake_minimum_required(VERSION 3.0)
project(D3D9_HOOK)

set(CMAKE_CXX_STANDARD 17)
include_directories(Detours/include $ENV{DXSDK_DIR}Include)
link_directories(Detours/x86 $ENV{DXSDK_DIR}Lib/x86/)
file(GLOB ImGui ImGui/*.cpp ImGui/*.h)

add_library(D3D9_HOOK SHARED framework.h pch.h dllmain.cpp Hook.h Hook.cpp Drawing.h Drawing.cpp ${ImGui})
target_link_libraries(D3D9_HOOK detours.lib d3d9.lib d3dx9.lib)

Tested on CLion with MSVC compiler, you can get Visual Studio Build Tools here.

๐Ÿช Hooking

You can hook every functions of DirectX 9 by changing the virtual function index (in Hook.cpp) :

Here I hook EndScene Function.

oEndScene = (tEndScene)d3d9Device[42];

All functions index of DirectX 9 are here.

๐Ÿงช Example

Call Of Duty : World at War (x86)

Exemple x86

DirectX 9 Example Program (x64)

Exemple x64

d3d9-hook-imgui's People

Contributors

adamhlt avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.