Skip to content

0xvpr/HM3-Trainer

Repository files navigation

Hitman Blood Money Trainer (STEAM VERSION ONLY)


Overview:

This is a repository for a Hitman Blood Money Trainer that I built with C, C++, and some Assembly.

The main purpose of this project was to get familiar with programming internal GUIs from scratch and
familiarize myself with process hooking techniques.

Demonstration of God Mode and Teleport hacks.

Table of Contents

What I Learned

mf nothing

How it works

There is an ez install option using the shitman3.zip.

The DLL must be injected WHILE the game is running in the foreground.
It is very finicky and will crash/hang otherwise.

Just use your favorite payload injector and throw that bitch in there.
It works better when the game is windowed.

The hacks written are:

  • Press Numpad 1 to toggle Infinite Ammo.
  • Press Numpad 2 to toggle Infinite Health.
  • Press Numpad 3 to toggle No Reactions
  • Press Numpad 4 to toggle One Shot Kill.
  • Press Numpad 5 to toggle No Recoil.
  • Press Numpad 6 to toggle Flash (5x speed hack).
  • Press Shift + T to teleport to current camera coordinates.
  • Press Shift + X to kill the entity at the current camera coordinates.
  • Press T to teleport to current entity.
  • Press X to kill the current entity.
  • Press [ previous entity.
  • Press ] next entity.
  • Press END to eject.

EZ Install Instructions

This is idiot proof. (I PRAY)

  1. Download the latest zip file from the releases.
  2. Drop the zip in your main Hitman Bloodmoney folder.

step2

3. Unzip the zip files into the same directory.

step3

4. Run the loader via cmd.exe or double click it.

step4

5. Run the game normally through steam.

step5

6. Alt + Tab once the game starts and click OK on the message box pop-up.

step6

7. Alt + Tab back in.

Build Instructions

[ with Docker + WSL2 (Recommended) ]

git clone https://github.com/0xvpr/HM3-Trainer.git hm3-trainer && cd hm3-trainer
make docker-container
make docker-build
  • Windows
# Go fuck yourself

Known issues

DOES NOT WORK WITH ANY NON-STEAM VERSION OF THE GAME.

One shot kill currently prevents "Accidental deaths" from counting as killed targets.
The player has to manually kill them in order for their death to register. This may be
solvable by changing the one shot op code from mov to xor

There are currently game states that may trigger a crash if cheats are enabled.

These game states include:

  • Restarting a mission with cheats enabled (sometimes)

Goals

  • Find reliable weapon pointer.
  • Find reliable entity list pointer.
  • Find reliable player health pointer.
  • Find a way to prevent teleports from crashing the game.
  • Find reliable 'in game' boolean (or other explicit distinction).
  • Update player coordinates in real-time (GUI)
  • Include entity type in GUI main window, just below the entity number.