Osiris for Counter-Strike 2: a cross-platform internal cheat built into the game's Panorama UI
Cross-platform game hack for Counter-Strike 2 with Panorama-based GUI.
At a glance
- What is it?
- Osiris is an MIT-licensed C++20 internal game hack for Counter-Strike 2 on Windows and Linux. The README documents a build from source, a manual-mapping injection requirement on Windows, and a gdb-based load on Linux.
- Who is it for?
- Osiris is for developers who want to read and modify a complete internal CS2 cheat: it is compiled from source, has no external dependencies, and its GUI is drawn through the game's own Panorama layer. It is not for anyone who wants a ready binary, a low-risk setup, or a tool that survives a VAC ban.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 1 day ago.
- What is it written in?
- Mainly C++, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What Osiris is and who the repository is written for
Osiris is an internal game hack for Counter-Strike 2, maintained by Daniel Krupiński and distributed as source under the MIT licence. The README describes it as cross-platform, covering Windows and Linux, with a GUI and rendering layer that hooks into the game's Panorama UI rather than drawing a separate overlay window. The repository is C++20 and the top-level layout is a Visual Studio solution (Osiris.sln) plus a CMakeLists.txt, a Source/ directory and a Tests/ directory.
The audience is narrow and technical. The README's Compiling section assumes you already know what a DLL injector is and why manual mapping matters. There is no installer, no release binary, and no configuration wizard. If you want a cheat you can download and run, this is the wrong repository. If you want to read how an internal CS2 cheat is structured, how it avoids the C++ runtime library, and how it renders through Panorama, the source is the point.
How Osiris works: Panorama rendering and a no-runtime build
The README's Technical features list is unusually specific, and it is the clearest statement of the design. Release builds do not use the C++ runtime library, do not allocate heap memory, do not create threads, do not use exceptions, and have no static imports on Windows. Those constraints are what make the binary small and what make manual mapping practical: a module that pulls in the CRT or imports functions statically gives an injector more to fix up.
The GUI is the other half. Rather than creating its own window, Osiris renders through the game's Panorama UI, which is the same interface layer CS2 uses for its own menus and HUD. That choice means the visuals inherit the game's layout and scaling, and it is why the README shows feature screenshots as in-game elements: a Bomb Plant Alert indicator, a No Scope Inaccuracy Visualization, and a viewmodel FOV modification. Features are added over time; the What's new section lists changes dated from October and November 2025, including customizable Hostage Outline Glow hue and smoother Player Info in World on moving players.
Settings live on disk rather than in the game. The FAQ states that configuration is stored in default.cfg inside %appdata%\OsirisCS2\configs on Windows and $HOME/OsirisCS2/configs on Linux.
Building Osiris from source on Windows and Linux
There is no package manager step. The README gives two build paths and both start from a clone of the repository.
On Windows you need Microsoft Visual Studio 2022 with the Desktop development with C++ workload. Open Osiris.sln, set the configuration to Release | x64, and build the solution. The README states you should receive Osiris.dll.
On Linux you need CMake 3.24 or newer and either g++ 14 or newer or clang++ 18 or newer. Configure and build from the repository root:
cmake -DCMAKE_BUILD_TYPE=Release -B build
cmake --build build -j $(nproc --all)The README states the result is libOsiris.so in the build/Source/ directory. Note the build type flag: a Debug build is not what the README describes, and the no-CRT, no-heap properties are stated for release builds.
Loading is the part that separates Osiris from a normal library. On Windows, Counter-Strike 2 blocks the LoadLibrary injection method, so the README says you must use a manual mapping injector, also called reflective DLL injection. It explicitly names Xenos and Extreme Injector as known to be detected by VAC, so the README is telling you not to use the two tools most people would reach for first. On Linux the README gives a one-line gdb command, run from the directory containing libOsiris.so:
sudo gdb -batch-silent -p $(pidof cs2) -ex "call (void*)dlopen(\"$PWD/libOsiris.so\", 2)"That call loads the library into the running cs2 process. The README adds a caveat in the same paragraph: gdb is visible under TracerPid in /proc/$(pidof cs2)/status for the duration of the injection, so this method might be detected by VAC.
The detection problem the README states plainly
Osiris does not claim to be undetected, and the README is direct about the two named injection tools being detected by VAC. The Linux path carries its own warning about TracerPid. Anyone reading the repository for a safe setup should stop at those lines: the project documents the injection mechanism and the visibility it creates, not a way around anti-cheat.
The practical failure mode is therefore not a crash or a build error. It is an account ban, and the README gives no rollback, no unload procedure, and no cleanup steps for either platform. There is also no documented support matrix beyond the two operating systems and the current game update on Steam. The README says Osiris is "Compatible with the latest game update on Steam," which is a statement about a moving target: a CS2 update can invalidate offsets and signatures, and the repository has no release notes or versioned tags to tell you which game build a given commit targets.
That is the honest case against adopting it. If you need something that keeps working across game patches without you rebuilding from master, this repository does not promise that.
Osiris compared with external overlay cheats
The real alternative in approach is an external cheat, a separate process that reads game memory and draws its own overlay window instead of living inside the game. Osiris is the opposite: it is internal, loaded into the cs2 process, and it renders through Panorama, the game's own UI layer, rather than through a window it owns.
The trade-offs follow from that. An external overlay does not need a manual mapping injector or a debugger attached to the game, so the injection step that the README flags as VAC-visible does not exist in the same form. In exchange, an external tool has to read memory from outside the process, which is a different detection surface and a different performance profile. Osiris's Technical features list, no CRT, no heap allocations, no threads, no static imports on Windows, only makes sense for an internal module that has to be mapped cleanly; an external overlay has no reason to care about any of those constraints.
So the comparison is not about which is better. It is about where you accept risk and complexity. Osiris puts both inside the game process and pays for it with an injection step the README itself describes as detectable.
Licence, maintenance and what upgrading actually costs
Osiris is licensed under the MIT License, copyright 2018-2025 Daniel Krupiński, with the full text in the LICENSE file. MIT is permissive: it allows use, modification and redistribution provided the copyright notice and permission notice are kept. That is a statement about the licence text, not legal advice about what you do with the build.
Maintenance is visible in two places. The repository is not archived, and the last push was on 2026-09-20, so the project is being updated. The README's What's new entries run through 04 November 2025, listing incremental feature work rather than a versioned release. No releases are listed, which means there is no changelog or tagged version to pin to. Upgrading therefore means pulling master and rebuilding with the same toolchain the README names: Visual Studio 2022 on Windows, or CMake 3.24 with g++ 14 or clang++ 18 on Linux. Your configuration in default.cfg lives outside the build directory, so a rebuild does not overwrite it, but the README does not document config migration between versions.
Verifying an Osiris build before you load it
The repository ships a Tests/ directory alongside Source/. The README does not describe how to run those tests or what they cover, so treat them as something to inspect rather than a documented verification step.
What you can verify from the README alone is narrower but concrete. Confirm the build configuration is Release | x64 on Windows, since the no-CRT and no-static-imports properties are stated for release builds. Confirm you produced Osiris.dll or build/Source/libOsiris.so, because those are the exact artifacts the README names. Confirm where your settings will land, %appdata%\OsirisCS2\configs on Windows or $HOME/OsirisCS2/configs on Linux, and check default.cfg after the first run. And read the Windows injection paragraph again before choosing a tool: the README names Xenos and Extreme Injector as detected, so the choice of injector is the decision with the most direct consequence, and the project does not recommend one.
Editorial conclusion
Osiris is for developers who want to read and modify a complete internal CS2 cheat: it is compiled from source, has no external dependencies, and its GUI is drawn through the game's own Panorama layer. It is not for anyone who wants a ready binary, a low-risk setup, or a tool that survives a VAC ban. Before building, check that Visual Studio 2022 with the Desktop development with C++ workload is installed on Windows, or CMake 3.24 with g++ 14 or clang++ 18 on Linux, and read the LoadLibrary warning in the README first.
Frequently asked questions
How do I install Osiris for Counter-Strike 2?
There is no installer. On Windows, open Osiris.sln in Visual Studio 2022 with the Desktop development with C++ workload, set Release | x64 and build to get Osiris.dll. On Linux, configure with CMake 3.24 or newer and build to get libOsiris.so in build/Source/.
How do I use Osiris after building it?
The built artifact has to be loaded into the running game. On Windows the README says CS2 blocks LoadLibrary, so a manual mapping injector is required. On Linux the README gives a gdb command that calls dlopen on libOsiris.so against the cs2 process.
Where does Osiris store its settings?
The README FAQ states settings go into default.cfg inside %appdata%\OsirisCS2\configs on Windows and $HOME/OsirisCS2/configs on Linux.
Does Osiris work on both Windows and Linux?
Yes. The README describes it as cross-platform for Windows and Linux, with separate build instructions for Visual Studio 2022 and for CMake with g++ 14 or clang++ 18. The loading step differs on each platform.
Is Osiris detected by VAC?
The README does not claim it is undetected. It states that Xenos and Extreme Injector are known to be detected by VAC, and that the Linux gdb injection method might be detected because gdb is visible under TracerPid in /proc/$(pidof cs2)/status during the injection.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/danielkrupinski-osiris)