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.
[ What the fuck did I actually learn ]
The DLL must be injected WHILE the game is running in the foreground.
It is very finicky and will crash/hang otherwise.
The hacks written are:
- Press
Numpad 1to toggle Infinite Ammo. - Press
Numpad 2to toggle Infinite Health. - Press
Numpad 3to toggle No Reactions - Press
Numpad 4to toggle One Shot Kill. - Press
Numpad 5to toggle No Recoil. - Press
Numpad 6to toggle Flash (5x speed hack). - Press
Shift + Tto teleport to current camera coordinates. - Press
Shift + Xto kill the entity at the current camera coordinates. - Press
Tto teleport to current entity. - Press
Xto kill the current entity. - Press
[previous entity. - Press
]next entity. - Press
ENDto eject.
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)
Just use your favorite payload injector and throw that bitch in there.
It works better when the game is windowed.
git clone https://github.com/0xvpr/HM3-Trainer.git hm3-trainer && cd hm3-trainer
make docker-container
make docker-build
- Windows
# Go fuck yourself- 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.
