Guide idTech Engine Hacking & Reversing Info

Hexui Undetected CSGO Cheats Sinkicheat PUBG Cheat

timb3r

Semi-Retired
Dank Tier VIP
Jul 15, 2018
767
22,668
47
Historical Information
Recent idTech games are made with the newer idTech 5, 6 & 7 engines.

idTech 1 = Doom Engine
idTech 2 = Quake Engine
idTech 3 = Quake III Arena Engine
idTech 4 = Doom 3
idTech 5 = RAGE
idTech 6 = Doom 2016
idTech 7 = Doom Eternal

All newer versions are iterations of idTech3, the Quake III Arena Engine which is open source. There will be many parallels between this version and newer versions, therefore studying the open source version will give you an excellent insight into the core engine. The Call of Duty engine and even Source Engine are based on Quake Engine also.

Even the Doom 3 idTech 4 source code is available on idTech's Github

We have an excellent guide on how to hack Quake Engine / COD base games available here which will teach you exactly what structures, objects and pointers you will need.
Guide - How to Hack Call of Duty Games & Quake Engine Games

After idTech 4 the newer versions are getting farther and farther away from the original Quake III Arena source code.

idTech 5 information:

Rendering Tech: OpenGL

Games using idTech 5:
  1. RAGE
  2. Wolfenstein - The New Order
  3. Wolfenstein - The Old Blood
  4. Dishonored 2
  5. Dishonored 2 - The Death of the Outsider
  6. The Evil Within
  7. The Evil Within 2
idTech 6 Information:

Rendering Tech: Vulkan & OpenGL

Games using idTech 6:
  1. Doom 2016
  2. Wolfenstein II
  3. Wolfenstein - Young Blood

idTech 7

Rendering Tech: Vulkan (only)

Games using idTech7:
  1. Doom Eternal

General:

Enabling the console:
+set com_allowconsole 1

Game Specific [Wolfenstein - The New Order]:

Enable Dev Console:
cvaradd devgui 1
bind F8 cvaradd devgui 1
Cheat Table for Locating the Entity List and Base Pointer:
Wolfenstein TNO - Entity List:
<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="28">
  <CheatEntries>
    <CheatEntry>
      <ID>1</ID>
      <Description>"Base pointer game"</Description>
      <ShowAsHex>1</ShowAsHex>
      <VariableType>8 Bytes</VariableType>
      <Address>wolfneworder_x64.exe+1da60E0</Address>
    </CheatEntry>
    <CheatEntry>
      <ID>2</ID>
      <Description>"Entity List"</Description>
      <ShowAsHex>1</ShowAsHex>
      <VariableType>8 Bytes</VariableType>
      <Address>wolfneworder_x64.exe+1da60E0</Address>
      <Offsets>
        <Offset>1AAC8</Offset>
      </Offsets>
    </CheatEntry>
  </CheatEntries>
</CheatTable>

Game Specific [Doom 2016]:

Writing to the Console (internal):
C++:
typedef void (*Doom4ConsoleMsg_t)(const char *, const char *);
Doom4ConsoleMsg_t fnD4Msg = NULL;
uintptr_t baseAddress = 0;

baseAddress = (uintptr_t)GetModuleHandle(NULL);
fnD4Msg = (Doom4ConsoleMsg_t)(baseAddress + 0x161BDC0);

fnD4Msg("%s\n", "------- timb3r's Vulkan Proxy v0.1 -------");

Misc Resources

Configuring Development Environments for Vulkan

Development environment - Vulkan Tutorial

Vulkan Hooking:
Vulkan Hooking (ProxyDLL).

Member created projects:
Other Resources:
 
Last edited by a moderator:
Attention! Before you post:

Read the How to Ask Questions Guide
99% of questions are answered in the Beginner's Guide, do it before asking a question.

No Hack Requests. Post in the correct section.  Search the forum first. Read the rules.

How to make a good post:

  • Fill out the form correctly
  • Tell us the game name & coding language
  • Post everything we need to know to help you
  • Ask specific questions, be descriptive
  • Post errors, line numbers & screenshots
  • Post code snippets using code tags
  • If it's a large project, zip it up and attach it

If you do not comply, your post may be deleted.  We want to help, please make a good post and we will do our best to help you.

Community Mods League of Legends Accounts