Skip to content

danielkrupinski/Osiris

Repository files navigation

Osiris

Windows Linux

Cross-platform (Windows, Linux) game hack for Counter-Strike 2 with GUI and rendering based on game's Panorama UI. Compatible with the latest game update on Steam.

What's new

  • 05 May 2025

    • Player Model Glow hues are now customizable also for Team, Health-based and Enemy/Ally color modes

    Player Model Glow Hues

  • 29 April 2025

    • Player color hues are now customizable in Model Glow settings

    Custom player color hues in Model Glow

  • 11 April 2025

    • Added "Enemy / Ally" color mode for Player Model Glow

    Player Model Glow Enemy/Ally Color Mode
  • 7 April 2025

    • Added weapon model glow preview
    Weapon Model Glow Preview
  • 31 March 2025

    • Moved model glow preview to the left side of the model glow tab
    Model Glow Preview

Technical features

  • C++ runtime library (CRT) is not used in release builds
  • No heap memory allocations
  • No static imports in release build on Windows
  • No threads are created
  • Exceptions are not used
  • No external dependencies

Compiling

Prerequisites

Windows

  • Microsoft Visual Studio 2022 with Desktop development with C++ workload

Linux

  • CMake 3.24 or newer
  • g++ 11 or newer or clang++ 17 or newer

Compiling from source

Windows

Open Osiris.sln in Visual Studio 2022, set build configuration to Release | x64. Press Build solution and you should receive Osiris.dll file.

Linux

Configure with CMake:

cmake -DCMAKE_BUILD_TYPE=Release -B build

Build:

cmake --build build -j $(nproc --all)

After following these steps you should receive libOsiris.so file in build/Source/ directory.

Loading / Injecting into game process

Windows

You need a DLL injector to inject (load) Osiris.dll into game process.

Counter-Strike 2 blocks LoadLibrary injection method, so you have to use a manual mapping (aka reflective DLL injection) injector.

Xenos and Extreme Injector are known to be detected by VAC.

Linux

You can simply run the following script in the directory containing libOsiris.so:

sudo gdb -batch-silent -p $(pidof cs2) -ex "call (void*)dlopen(\"$PWD/libOsiris.so\", 2)"

However, this injection method might be detected by VAC as gdb is visible under TracerPid in /proc/$(pidof cs2)/status for the duration of the injection.

FAQ

Where are the settings stored on disk?

In a configuration file default.cfg inside %appdata%\OsirisCS2\configs directory on Windows and $HOME/OsirisCS2/configs on Linux.

License

Copyright (c) 2018-2025 Daniel Krupiński

This project is licensed under the MIT License - see the LICENSE file for details.