Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OffsetFetcher

CS2 memory dumper: buttons, interfaces, offsets, and schemas in parallel

Python Platform License


OffsetFetcher reads CS2 process memory to extract pattern-scanned offsets, interface pointers, button states, and the Source2 schema graph. It exports JSON files locally without network calls or configuration.

Warning

Running memory readers in online matchmaking violates CS2 Terms of Service and triggers VAC bans. Test offline or on private servers.

Important

Antivirus software flags memory readers because process inspection mimics malware behavior. Review the source code and whitelist the executable.


Quick Start

git clone https://github.com/Jesewe/OffsetFetcher.git
cd OffsetFetcher
pip install -r requirements.txt

Start CS2, then run as Administrator:

python main.py -v

Outputs write to output/. Execution logs write to OffsetFetcher.log.


Usage

python main.py [-p PROCESS] [-o OUTPUT] [-w WORKERS] [-v|-vv]

  -p, --process   Game process name (default: cs2.exe)
  -o, --output    Output directory   (default: output/)
  -w, --workers   Parallel workers   (default: 4)
  -v              Info logging
  -vv             Debug logging

Output

File Contents
offsets.json Pattern-scanned RVAs grouped by module
interfaces.json CreateInterface singletons per DLL
buttons.json KeyButton state offsets from client.dll
<scope>.json Schema scope definitions containing class fields, types, and enums

All offsets represent RVAs (relative to module base address), matching the format from cs2-dumper.


Structure

OffsetFetcher/
  main.py                  entry point, CLI, logging setup
  src/
    core/
      constants.py         Source2 memory layout constants
      engine.py            ThreadPoolExecutor parallel scanner
      memory.py            ProcessMemory with thread-safe module caching
      scanner.py           pelite-compatible pattern compiler and scanner
      offsets.py           pattern table and offset extraction
      interfaces.py        CreateInterface linked-list walker
      buttons.py           KeyButton linked-list walker
      schemas.py           UtlTsHash traversal, class and enum readers
    models/
      models.py            dataclasses for all result types
    serializers/
      serializer.py        formatted JSON writer
    utils/
      console.py           Rich CLI visual layout, tables, and panels
      logger.py            Rich-integrated logging handler

Covered Modules

Module Offsets
client.dll dwCSGOInput, dwEntityList, dwGameEntitySystem, dwGameRules, dwGlobalVars, dwGlowManager, dwLocalPlayerController, dwLocalPlayerPawn, dwPlantedC4, dwPrediction, dwSensitivity, dwViewAngles, dwViewMatrix, dwViewRender, dwWeaponC4
engine2.dll dwBuildNumber, dwNetworkGameClient + 7 sub-offsets, dwWindowHeight, dwWindowWidth
inputsystem.dll dwInputSystem
matchmaking.dll dwGameTypes
soundsystem.dll dwSoundSystem, dwSoundSystem_engineViewData

Troubleshooting

Issue Fix
could not open process Run terminal as Administrator
outdated pattern in logs Update the pattern definition in src/core/offsets.py
SchemaSystem pattern outdated Update the scan pattern in src/core/schemas.py
Missing module in output Start a match to load the required DLL before running

Requirements


Credits


License

GPLv3. See LICENSE.

About

CS2 memory offset dumper

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors

Languages