Download hazedumper CSGO offset dumper

Download hazedumper CSGO offset dumper 2.4.3

Hexui Undetected CSGO Cheats PUBG Accounts

hazedumper is a json based offset dumper. It is most commonly used to dump offsets from CSGO aka Counter-Strike Global Offensive. It can be used on any game, you just have to create a config.json file for that game. You can define signatures and the target game name and it will search for the signatures using pattern scanning and dump the offsets to a file.

It currently exports the offsets in a number of formats for different languages
  • C++
  • C#
  • Rust
  • Visual Basic
  • json
  • yaml
hazedumper is developed/maintained by frk and @rN'
Huge thank you to these guys on behalf of the game hacking community

It is the most popular offset dumper and probably the most popular cheat tool besides Cheat Engine in the game hacking community. It is a very popular tool in the CSGO hacking community.

hazedumper is awesome, but have you seen the GH Offset Dumper?
- Guided Hacking Offset Dumper - GH Offset Dumper
- Open Source, Written in C++ and also exports Cheat Engine Tables

The download includes:
  • the offset dumper executable
  • config.json file for CSGO
hazedumper GitHub
  • hazedumper is written in Rust, the source code is available on frk's github .
  • frk & @rN' maintain an updated config.json and a copy of the offset dumps here.
  • The offsets here and on github won't always be 100% updated, dump them yourself to be sure

How to use
Start CSGO using the -insecure flag. Execute hazedumper. The freshly dumped offsets will be in the csgo.hpp.

You should just include the exported header files in your Visual Studio project and then just use the variables in your code. There is no reason to copy and paste anything from the dump, just use the files exactly how they are. More info: How to use HazeDumper offsets correctly - Guided Hacking

How to compile hazedumper yourself
1) Download & Install Rust-lang
2) You must have VS 2017 build tools intalled, Rust uses these.
3) In cmd prompt run these commands
  1. git clone']frk1/hazedumper-rs
  2. cd hazedumper-rs
  3. cargo build --release
You will find the built executable in \target\release\. Put the executable and the latest config.json in the same directory and now you're ready to use it.

How does hazedumper work
It uses pattern scanning, open config.json and view one of the entries:
    "name": "dwViewMatrix",
    "extra": 176,
    "relative": true,
    "module": "client_panorama.dll",
    "offsets": [
    "pattern": "0F 10 05 ? ? ? ? 8D 85 ? ? ? ? B9"
It scans for "0F 10 05 ? ? ? ? 8D 85 ? ? ? ? B9" which returns: client_panorama.dll+1FDB52
If you disassemble it, look at the blue highlighted line:


byte 0 & 1 are the instruction, byte 2 is the first argument, and byte 3 is the second argument.

This second argument is 63e4b874, which you can also view as "client_panorama.dll+4CFB874"

So offset 3 from the hazedumper config tells it to advance from the result of the pattern scan by 3 bytes.

so now it reads from the address "client_panorama.dll+1FDB52 + 0x3" which yields:
"client_panorama.dll + 0x4cfb874"

The "extra" represents a number you have to add to this address, in decimal which is 0xB0 in hex.

So in cheat engine you can plug in this address to get the address of the dwViewMatrix:
client_panorama.dll + 0x4cfb874 + b0

That's it.

Recent CSGO Offset Dump: (always best to dump them yourself!)
#pragma once
#include <cstdint>

// 2019-09-17 14:04:29.419424200 UTC

namespace hazedumper {
constexpr ::std::int64_t timestamp = 1568729069;
namespace netvars {
constexpr ::std::ptrdiff_t cs_gamerules_data = 0x0;
constexpr ::std::ptrdiff_t m_ArmorValue = 0xB340;
constexpr ::std::ptrdiff_t m_Collision = 0x31C;
constexpr ::std::ptrdiff_t m_CollisionGroup = 0x474;
constexpr ::std::ptrdiff_t m_Local = 0x2FBC;
constexpr ::std::ptrdiff_t m_MoveType = 0x25C;
constexpr ::std::ptrdiff_t m_OriginalOwnerXuidHigh = 0x31B4;
constexpr ::std::ptrdiff_t m_OriginalOwnerXuidLow = 0x31B0;
constexpr ::std::ptrdiff_t m_SurvivalGameRuleDecisionTypes = 0x1320;
constexpr ::std::ptrdiff_t m_SurvivalRules = 0xCF8;
constexpr ::std::ptrdiff_t m_aimPunchAngle = 0x302C;
constexpr ::std::ptrdiff_t m_aimPunchAngleVel = 0x3038;
constexpr ::std::ptrdiff_t m_angEyeAnglesX = 0xB344;
constexpr ::std::ptrdiff_t m_angEyeAnglesY = 0xB348;
constexpr ::std::ptrdiff_t m_bBombPlanted = 0x99D;
constexpr ::std::ptrdiff_t m_bFreezePeriod = 0x20;
constexpr ::std::ptrdiff_t m_bGunGameImmunity = 0x392C;
constexpr ::std::ptrdiff_t m_bHasDefuser = 0xB350;
constexpr ::std::ptrdiff_t m_bHasHelmet = 0xB334;
constexpr ::std::ptrdiff_t m_bInReload = 0x3285;
constexpr ::std::ptrdiff_t m_bIsDefusing = 0x3918;
constexpr ::std::ptrdiff_t m_bIsQueuedMatchmaking = 0x74;
constexpr ::std::ptrdiff_t m_bIsScoped = 0x3910;
constexpr ::std::ptrdiff_t m_bIsValveDS = 0x75;
constexpr ::std::ptrdiff_t m_bSpotted = 0x93D;
constexpr ::std::ptrdiff_t m_bSpottedByMask = 0x980;
constexpr ::std::ptrdiff_t m_bStartedArming = 0x33D0;
constexpr ::std::ptrdiff_t m_clrRender = 0x70;
constexpr ::std::ptrdiff_t m_dwBoneMatrix = 0x26A8;
constexpr ::std::ptrdiff_t m_fAccuracyPenalty = 0x3310;
constexpr ::std::ptrdiff_t m_fFlags = 0x104;
constexpr ::std::ptrdiff_t m_flC4Blow = 0x2990;
constexpr ::std::ptrdiff_t m_flDefuseCountDown = 0x29AC;
constexpr ::std::ptrdiff_t m_flDefuseLength = 0x29A8;
constexpr ::std::ptrdiff_t m_flFallbackWear = 0x31C0;
constexpr ::std::ptrdiff_t m_flFlashDuration = 0xA3F4;
constexpr ::std::ptrdiff_t m_flFlashMaxAlpha = 0xA3F0;
constexpr ::std::ptrdiff_t m_flLastBoneSetupTime = 0x2924;
constexpr ::std::ptrdiff_t m_flLowerBodyYawTarget = 0x3A78;
constexpr ::std::ptrdiff_t m_flNextAttack = 0x2D70;
constexpr ::std::ptrdiff_t m_flNextPrimaryAttack = 0x3218;
constexpr ::std::ptrdiff_t m_flSimulationTime = 0x268;
constexpr ::std::ptrdiff_t m_flTimerLength = 0x2994;
constexpr ::std::ptrdiff_t m_hActiveWeapon = 0x2EF8;
constexpr ::std::ptrdiff_t m_hMyWeapons = 0x2DF8;
constexpr ::std::ptrdiff_t m_hObserverTarget = 0x3388;
constexpr ::std::ptrdiff_t m_hOwner = 0x29CC;
constexpr ::std::ptrdiff_t m_hOwnerEntity = 0x14C;
constexpr ::std::ptrdiff_t m_iAccountID = 0x2FC8;
constexpr ::std::ptrdiff_t m_iClip1 = 0x3244;
constexpr ::std::ptrdiff_t m_iCompetitiveRanking = 0x1A84;
constexpr ::std::ptrdiff_t m_iCompetitiveWins = 0x1B88;
constexpr ::std::ptrdiff_t m_iCrosshairId = 0xB3AC;
constexpr ::std::ptrdiff_t m_iEntityQuality = 0x2FAC;
constexpr ::std::ptrdiff_t m_iFOV = 0x31E4;
constexpr ::std::ptrdiff_t m_iFOVStart = 0x31E8;
constexpr ::std::ptrdiff_t m_iGlowIndex = 0xA40C;
constexpr ::std::ptrdiff_t m_iHealth = 0x100;
constexpr ::std::ptrdiff_t m_iItemDefinitionIndex = 0x2FAA;
constexpr ::std::ptrdiff_t m_iItemIDHigh = 0x2FC0;
constexpr ::std::ptrdiff_t m_iMostRecentModelBoneCounter = 0x2690;
constexpr ::std::ptrdiff_t m_iObserverMode = 0x3374;
constexpr ::std::ptrdiff_t m_iShotsFired = 0xA380;
constexpr ::std::ptrdiff_t m_iState = 0x3238;
constexpr ::std::ptrdiff_t m_iTeamNum = 0xF4;
constexpr ::std::ptrdiff_t m_lifeState = 0x25F;
constexpr ::std::ptrdiff_t m_nFallbackPaintKit = 0x31B8;
constexpr ::std::ptrdiff_t m_nFallbackSeed = 0x31BC;
constexpr ::std::ptrdiff_t m_nFallbackStatTrak = 0x31C4;
constexpr ::std::ptrdiff_t m_nForceBone = 0x268C;
constexpr ::std::ptrdiff_t m_nTickBase = 0x342C;
constexpr ::std::ptrdiff_t m_rgflCoordinateFrame = 0x444;
constexpr ::std::ptrdiff_t m_szCustomName = 0x303C;
constexpr ::std::ptrdiff_t m_szLastPlaceName = 0x35B0;
constexpr ::std::ptrdiff_t m_thirdPersonViewAngles = 0x31D8;
constexpr ::std::ptrdiff_t m_vecOrigin = 0x138;
constexpr ::std::ptrdiff_t m_vecVelocity = 0x114;
constexpr ::std::ptrdiff_t m_vecViewOffset = 0x108;
constexpr ::std::ptrdiff_t m_viewPunchAngle = 0x3020;
} // namespace netvars
namespace signatures {
constexpr ::std::ptrdiff_t clientstate_choked_commands = 0x4D28;
constexpr ::std::ptrdiff_t clientstate_delta_ticks = 0x174;
constexpr ::std::ptrdiff_t clientstate_last_outgoing_command = 0x4D24;
constexpr ::std::ptrdiff_t clientstate_net_channel = 0x9C;
constexpr ::std::ptrdiff_t convar_name_hash_table = 0x2F0F8;
constexpr ::std::ptrdiff_t dwClientState = 0x590D94;
constexpr ::std::ptrdiff_t dwClientState_GetLocalPlayer = 0x180;
constexpr ::std::ptrdiff_t dwClientState_IsHLTV = 0x4D40;
constexpr ::std::ptrdiff_t dwClientState_Map = 0x28C;
constexpr ::std::ptrdiff_t dwClientState_MapDirectory = 0x188;
constexpr ::std::ptrdiff_t dwClientState_MaxPlayer = 0x388;
constexpr ::std::ptrdiff_t dwClientState_PlayerInfo = 0x52B8;
constexpr ::std::ptrdiff_t dwClientState_State = 0x108;
constexpr ::std::ptrdiff_t dwClientState_ViewAngles = 0x4D88;
constexpr ::std::ptrdiff_t dwEntityList = 0x4D07DD4;
constexpr ::std::ptrdiff_t dwForceAttack = 0x3139490;
constexpr ::std::ptrdiff_t dwForceAttack2 = 0x313949C;
constexpr ::std::ptrdiff_t dwForceBackward = 0x31394D8;
constexpr ::std::ptrdiff_t dwForceForward = 0x31394E4;
constexpr ::std::ptrdiff_t dwForceJump = 0x51AB48C;
constexpr ::std::ptrdiff_t dwForceLeft = 0x31394FC;
constexpr ::std::ptrdiff_t dwForceRight = 0x31394F0;
constexpr ::std::ptrdiff_t dwGameDir = 0x6376F0;
constexpr ::std::ptrdiff_t dwGameRulesProxy = 0x521D7D4;
constexpr ::std::ptrdiff_t dwGetAllClasses = 0xD1ABF4;
constexpr ::std::ptrdiff_t dwGlobalVars = 0x590A98;
constexpr ::std::ptrdiff_t dwGlowObjectManager = 0x5248228;
constexpr ::std::ptrdiff_t dwInput = 0x5152E20;
constexpr ::std::ptrdiff_t dwInterfaceLinkList = 0x8C9F14;
constexpr ::std::ptrdiff_t dwLocalPlayer = 0xCF5A4C;
constexpr ::std::ptrdiff_t dwMouseEnable = 0xCFB598;
constexpr ::std::ptrdiff_t dwMouseEnablePtr = 0xCFB568;
constexpr ::std::ptrdiff_t dwPlayerResource = 0x313781C;
constexpr ::std::ptrdiff_t dwRadarBase = 0x513CB34;
constexpr ::std::ptrdiff_t dwSensitivity = 0xCFB434;
constexpr ::std::ptrdiff_t dwSensitivityPtr = 0xCFB408;
constexpr ::std::ptrdiff_t dwSetClanTag = 0x89890;
constexpr ::std::ptrdiff_t dwViewMatrix = 0x4CF9804;
constexpr ::std::ptrdiff_t dwWeaponTable = 0x51538E8;
constexpr ::std::ptrdiff_t dwWeaponTableIndex = 0x323C;
constexpr ::std::ptrdiff_t dwYawPtr = 0xCFB1F8;
constexpr ::std::ptrdiff_t dwZoomSensitivityRatioPtr = 0xD00418;
constexpr ::std::ptrdiff_t dwbSendPackets = 0xD2D6A;
constexpr ::std::ptrdiff_t dwppDirect3DDevice9 = 0xA6030;
constexpr ::std::ptrdiff_t force_update_spectator_glow = 0x393662;
constexpr ::std::ptrdiff_t interface_engine_cvar = 0x3E9EC;
constexpr ::std::ptrdiff_t is_c4_owner = 0x39F8B0;
constexpr ::std::ptrdiff_t m_bDormant = 0xED;
constexpr ::std::ptrdiff_t m_pStudioHdr = 0x294C;
constexpr ::std::ptrdiff_t m_pitchClassPtr = 0x513CDE0;
constexpr ::std::ptrdiff_t m_yawClassPtr = 0xCFB1F8;
constexpr ::std::ptrdiff_t model_ambient_min = 0x593DB4;
constexpr ::std::ptrdiff_t set_abs_angles = 0x1CABA0;
constexpr ::std::ptrdiff_t set_abs_origin = 0x1CA9E0;
} // namespace signatures
} // namespace hazedumper
If you wonder why the file hash is different it's because I'm building it myself
First release
Last update
0.00 star(s) 0 ratings

More resources from Rake

Latest updates

  1. Little update 2.4.3

    Updated Crates Updated csgo.config
  2. 2.4.2 + Latest commits

    Includes all commits up to 8/13/19
  3. Updated config.json signatures

    Updated config.json signatures
Community Mods