CS:GO cheat I made based on designer's base, and many other cheats I found. Mainly made for learning.
Edgy name but not as cool as PissHooks™ (RIP).
As I said I made this project to learn about game hacking and cpp in general, so expect some bad practises and errors, but feel free to improve them!
See contributing.md for contributing to the project and references.md for a list of cheats that helped me learn while making it.
NOTE: If you are some kid from a third world country trying to sell this, please just don't, everyone knows how retarded you are.
- Triggerbot
- With custom delay
- Aimbot
- Snappy
- Silent
- Autowall
- Only visible
- Autowall (Min damage)
- Ignore walls
- Autofire
- On key
- Auto if key is set to 'None'
- Aimbot fov
- Fov circle
- Aimbot smoothness (Only on snappy aimbot)
- Aimbot and triggerbot hitboxes
- Only if scoped
- Aimpunch only on rifles (Looks more legit)
- Antiaim with custom pitch and jaw
- Enable/disable team ESP
- Box ESP
- Player skeleton
- Name ESP
- Health ESP
- Line
- Player info (flashed, weapons, etc.)
- Current weapon
A
- ArmorF
- Is flashedS
- Is scopedX
- Can't shootD
- Is defusing (soft)D
- Has defuser (hard)B
- Has bomb
- Player glow
- C4 glow
- Dropped weapons and grenades glow
- Chicken glow
- Player chams
- Hand chams
- Sleeve chams
- Weapon chams (viewmodel)
- Change individual materials for the chams
The skinchanger loads a json file called skins.json
, inside DOCUMENTS/NullHooks/
, DOCUMENTS being your windows documents folder (will be created if it doesn't exist). The json structure is very simple, having the weapon buy index enum name as a string (weapon name list), with the weapon properties as strings inside:
Setting name | Description |
---|---|
"item_definition_index" |
Can have a weapon buy index as int or as enum name (Same names as weapons, like WEAPON_KNIFE_M9_BAYONET for example). |
"paint_kit" |
The skin id as integer. You can find some skin ids here or here |
"seed" |
The skin seed as integer. |
"stattrack" |
The stattrack kill number as int. -1 means disabled. |
"quality" |
The int or enum string of the quality. List can be found here. |
"wear" |
The float corresponding to the weapon wear. From 0.001f to 1.f , lower means better. |
An example of a skin config file can be found in example-configs/skins.json.
The skin chager currently is able to change:
- Weapon skins
- Knife skins and models
- Globes
The model changer uses findmdl to replace the models, and you need to download them manually. Because of this, the models are not enabled by default (at least for now). You need change your custom path in models.hpp
(NULL
means it's disabled).
- C4 timer and bar
- Dropped weapons and grenades name
- Nade projectile ESP
- Nade projectile duration
- Grenade prediction
- No flash
- No scope
- Wireframe smoke (Open an issue if you want NoSmoke)
- Custom crosshair
- Recoil crosshair
- Bullet tracers (:warning: Broken in online matches. Check todo)
- Fov changer
- Thirdperson
- Motion blur
- Infinite duck (:warning: Untrusted)
- BunnyHop
- Autostrafe
- Legit
- Rage
- Edgejump (On key)
- Edgebug assist (Needs improvement)
- Jumpbug (On key)
- Slow walk (On key)
- Speed graph (With color, height and position options)
- Backtrack
- Spectator list
- Stats watermark (username, time, fps, ping...)
- Hide cheat on screenshots
- Hotkey system
- Delete sets the hotkey to
None
, meaning that the hotkey will apear always as held - Esc will cancel the current hotkey selection, restoring it to its original state
- Delete sets the hotkey to
Config system for skins and settings (independent for now). The skin configs should be placed under the NullHooks folder which is created in your documents folder, and your setting configs should be placed under the config directory. Example:
DOCUMENTS
└─ NullHooks
├─ config
│ ├─ my_config_1.json
│ └─ my_name_123.json
└─ skins.json
For more information and examples check config-examples
.
I recommend using Visual Studio 2022.
- Install Microsoft Visual Studio 2022 from this link
- Clone or download the project to your computer
- Open the file
src/NullHooks.sln
with Visual Studio 2022 - If an alert pops up, click
Ok
orUpdate
, if it doesn't make sure the project is updated by clickingProject > Retarget solution
in the window bar - Make sure you are compiling the project in
Release | x86
in the top bar - Click
Build > Build solution
in the window bar (You can also pressCtrl+Shift+B
) - The final
.dll
file path should be in the output window of Visual Studio (Usuallysrc/output/release/NullHooks.dll
) - Inject using your favourite injector
Note: If you have problems, make sure you follow the steps above and verify the integrity of your game files.
This method is not recommended as the cheat can be a bit outdated and you might encounter some problems depending on your computer.
- Go to the latest release page
- Download the file
NulHooks.dll
under "Assets" - Inject using your favourite injector
Completed items
- Clean the code
- Choose team not working (click)
- Move NullHooks-Lite to NullHooks branches
- Change spectator list style
- Add recoil crosshair
- Make spectator list movable (same as menu)
- Add active nade ESP
- Fix smoke class id
- Add nade prediction
- Add player skeleton ESP
- Bring menu tabs back (rip)
- Make spectator list width dynamic depending on name lengths
- Add line esp
- Add glows
- Add bomb glow
- Add player glow
- Add chicken glow
- Add weapon glow
- Add bomb timer
- Add weapon info about player
- Fix entity names showing outside the map if they dont exist (See
entity_esp.cpp
) - Remove glow on nade projectiles
- Remove esp on spectated player
- Nade projectiles outside screen
- Add option for disabling watermark and stats
- Make gui checkboxes enable by clicking the name of the feature
- Add chams
- Add section columns
- Add hand chams
- Add material selector to chams
- Support wchar strings in renderer (Russian characers for example, see comment in renderer) (See this)
- Spectator list repeating name again (const's fault?)
- Fix chams on custom playermodels
- Fix cursor position being relative to screen instead of game window
- Add color picker (example)
- Add popup system that renders after the menu so other elements don't render over the window
- Fix
gui::id_changer()
decrease button. See issue - Add great global input system
- Fix both spectator list and menu dragging when overlapped (See bottom of
menu.cpp
) - Add combobox (Will add multi-combobox when needed)
- Make selected item highlighted in the popup
- Replace noflash toggle with slider for opacity
- Add speedgraph
- Fix combobox crash when holding outside area
- Add second color picker
- Add color picker for friendly player chams
- Fix chams render distance (link) (#18)
- Add custom models
- Check if model path exists (link)
- Add custom hotkeys to framework
- Add motion blur (See #25)
- Add multicombobox
- For selecting what parts of the speedgraph we should draw
- Reset bomb timer on new round (sometimes?)
- Add alt+tab checks to global input
- Add skinchanger
- Config based
- Add config and all that (json or whatever)
- Skins
- Global config
- Make config system more "nested"
- Add can't shoot to player ESP
- Add textbox to framework for creating new config files from menu
- Add antiaim
- Add aim stuff
- Triggerbot
- Add delay slider
- Aimbot
- Silent
- Snappy
- Aimbot fov circle (or square)
- Custom aimbot key (autofire)
- Add bodyaim if lethal
- Make aimbot and triggerbot also aim for backtrack. (Store hitbox positions?)
- Triggerbot
- Add movement stuff
- EdgeJump
- EdgeBug (Improve: link)
- JumpBug
- Slowwalk
- Longjump
- Add event listeners (hook
FireEventIntern
)- Add bullet tracers
- Fix
bullet_impact
event not working in online matches (without using event listener)
- Fix
- Add decoy timer
- Add bullet tracers
- Add auto revolver hold
- Replace
player_info
esp with multicombobox - Add worldcolor
- Replace
findmdl
model changer with precached models (link) - Port to linux
- Skinchanger fixes
- Fix talon knife inspect animation
- Get localplayer steam id to fix weapon stattrack
- Add "defusing" to bomb timer (When doing player esp? Check first, set bool, then check combobox and render)
- Entity glow won't turn off on weapons (will turn off if another glow is on)
Some screenshots might be a bit outdated...