• Amused
  • Angry
  • Annoyed
  • Awesome
  • Bemused
  • Cocky
  • Cool
  • Crazy
  • Crying
  • Down
  • Drunk
  • Embarrased
  • Enraged
  • Friendly
  • Geeky
  • Godly
  • Happy
  • Hateful
  • Hungry
  • Innocent
  • Meh
  • Piratey
  • Poorly
  • Sad
  • Secret
  • Shy
  • Sneaky
  • Tired
  • Wtf
  • At Work
  • CodenzHub
  • Coding
  • Deejaying
  • Donating
  • Drinking
  • Eating
  • Editing
  • Hacking
  • Hate Mailing
  • Jamin'
  • Lagging
  • Live Streaming
  • Lurking
  • No Status
  • Pawning
  • PC Gaming
  • PS Gaming
  • Raging
  • Reversing
  • Sleeping
  • Steam Gaming
  • Trolling
  • TwitchStreamer
  • Vodka!
  • Watching TV/Movie
  • Xbox Gaming
  • Youtuber
  • Zombies
  • Results 1 to 3 of 3
    1. #1
      Jr.Coder
      <3 D3D
       
      Coding
       
      gnuzim's Avatar
      Join Date
      Nov 2012
      Posts
      67
      Thanks (-->)
      43
      Thanks (<--)
      27

      CSGO VTable Hook

      John Kittz
      Hey guys, i decided to share a CSGO Vtable Hook!
      Lets post more things about D3D here plz


      class CGame;
      class cVMT;
      class cD3D;

      class CGame
      {
      public:
      cVMT* pVMT; //0x0000

      };//Size=0x0004

      class cVMT
      {
      public:
      DWORD pD3D; //0x0000

      };//Size=0x0004


      const DWORD_PTR dwAddy = reinterpret_cast<DWORD_PTR>(GetModuleHandleA("shaderapidx9.dll")) + 0x1A0A78;
      CGame* pGame = (CGame*)dwAddy;

      typedef HRESULT(WINAPI* tEndScene)(LPDIRECT3DDEVICE9 pDevice);
      tEndScene pEndScene;

      HRESULT WINAPI hkEndScene(LPDIRECT3DDEVICE9 pDevice)
      {
      _asm pushad;
      MessageBox(0, L"Test", 0, MB_OK);
      _asm popad;
      return pEndScene(pDevice);
      }

      DWORD WINAPI vThread()
      {
      DWORD_PTR dwEndScene = NULL;

      while (pGame != NULL)
      {
      pEndScene = (HRESULT(WINAPI*)(LPDIRECT3DDEVICE9 pDevice)) *(DWORD_PTR*)(pGame->pVMT->pD3D + 0xA8);

      VirtualProtect((LPVOID)(pGame->pVMT->pD3D + 0xA8), sizeof(DWORD_PTR), PAGE_EXECUTE_READWRITE, &dwEndScene);

      while (TRUE)
      {
      *(DWORD_PTR*)(pGame->pVMT->pD3D + 0xA8) = (DWORD_PTR)hkEndScene;
      }

      VirtualProtect((LPVOID)(pGame->pVMT->pD3D + 0xA8), sizeof(DWORD_PTR), dwEndScene, &dwEndScene);
      }
      return 0;
      }

      BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
      {
      if (fdwReason == DLL_PROCESS_ATTACH)
      {
      ::CreateThread(0, 0, (LPTHREAD_START_ROUTINE)vThread, 0, 0, 0);
      }
      return TRUE;
      }


      Hooking EndScene, this is VAC PROOF, from this, you can adapt Fleeps Wallhack & Chams easily!
      And if you make your hack public you will probably get your dll patched!

      So becareful!

      Credits goes to Crypt, has helped me alot with DirectX stuff!

      Good luck you all
      Last edited by gnuzim; 02-09-2014 at 05:43 PM.

    2. Thanks squeenie, SystemSpeak2, Freak thanked for this post
    3. #2
      Hacker
      ^.^
       
      Eating
       
      NTvalk's Avatar
      Join Date
      Jul 2013
      Location
      Your RAM
      Posts
      512
      Thanks (-->)
      176
      Thanks (<--)
      145
      Thanks for sharing

    4. #3
      Newbie
      Building a nuclear bomb
       
      Coding
       
      Freak's Avatar
      Join Date
      Jan 2013
      Posts
      7
      Thanks (-->)
      4
      Thanks (<--)
      1
      Cheats'n'Trainers

      class CGame;
      class cVMT;
      class cD3D;

      class CGame
      {
      public:
      cVMT* pVMT; //0x0000

      };//Size=0x0004

      class cVMT
      {
      public:
      DWORD pD3D; //0x0000

      };//Size=0x0004


      const DWORD_PTR dwAddy = reinterpret_cast<DWORD_PTR>(GetModuleHandleA("shaderapidx9.dll")) + 0x1A0A78;
      CGame* pGame = (CGame*)dwAddy;

      typedef HRESULT(WINAPI* tEndScene)(LPDIRECT3DDEVICE9 pDevice);
      tEndScene pEndScene;

      HRESULT WINAPI hkEndScene(LPDIRECT3DDEVICE9 pDevice)
      {
      _asm pushad;
      MessageBox(0, L"Test", 0, MB_OK);
      _asm popad;
      return pEndScene(pDevice);
      }

      DWORD WINAPI vThread()
      {
      DWORD_PTR dwEndScene = NULL;

      while (pGame != NULL)
      {
      pEndScene = (HRESULT(WINAPI*)(LPDIRECT3DDEVICE9 pDevice)) *(DWORD_PTR*)(pGame->pVMT->pD3D + 0xA8);

      VirtualProtect((LPVOID)(pGame->pVMT->pD3D + 0xA8), sizeof(DWORD_PTR), PAGE_EXECUTE_READWRITE, &dwEndScene);

      while (TRUE)
      {
      *(DWORD_PTR*)(pGame->pVMT->pD3D + 0xA8) = (DWORD_PTR)hkEndScene;
      }

      VirtualProtect((LPVOID)(pGame->pVMT->pD3D + 0xA8), sizeof(DWORD_PTR), dwEndScene, &dwEndScene);
      }
      return 0;
      }

      BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
      {
      if (fdwReason == DLL_PROCESS_ATTACH)
      {
      ::CreateThread(0, 0, (LPTHREAD_START_ROUTINE)vThread, 0, 0, 0);
      }
      return TRUE;
      }


      Very nice thanks for share

    5. Thanks realstyla thanked for this post

    Similar Game Hacker Threads

    1. [Tutorial] How to dump vtable
      By Lolita1 in forum Game Hacking Tutorials
      Replies: 28
      Last Post: 02-19-2017, 04:12 PM
    2. [Help] DIRECT3D hook vs OPENGL hook
      By blergmasta in forum Direct-X, OpenGL
      Replies: 3
      Last Post: 03-25-2016, 10:18 PM
    3. [Help] c++ wallhack reconstruction vtable
      By rapt0r in forum GH Tutorials Help
      Replies: 1
      Last Post: 07-20-2015, 11:04 AM
    4. [Source Code] AssaultCube Weapon VTable
      By Solaire in forum Assault Cube Hacks
      Replies: 2
      Last Post: 06-09-2015, 08:51 PM
    5. D3D11 vTable indexes
      By c5 in forum Direct-X, OpenGL
      Replies: 0
      Last Post: 08-30-2013, 02:56 PM

    Tags for this Thread