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.
- 20 May 2024 - Implemented showing players' active weapon ammo
- 15 May 2024 - Implemented showing an icon on player blinded by a flashbang
- 14 May 2024 - Implemented showing an icon on player rescuing a hostage
- 7 May 2024 - Implemented showing an icon on player picking up a hostage
- 6 May 2024 - Adjusted "Bomb timer" appearance. Implemented showing an icon on player defusing the bomb
- 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
- Microsoft Visual Studio 2022 with Desktop development with C++ workload
- CMake 3.24 or newer
- g++ 11 or newer or clang++ 15 or newer
Open Osiris.sln in Visual Studio 2022, set build configuration to Release | x64. Press Build solution and you should receive Osiris.dll file.
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.
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.
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.
Copyright (c) 2018-2024 Daniel Krupiński
This project is licensed under the MIT License - see the LICENSE file for details.