Sair - CS2 External
Several weeks of work, one binary. External for Counter-Strike 2 - read-only memory, hardware-input automation, custom ImGui overlay, and a four-tier anti-analysis layer keeping the internals quiet. Development has ceased - the public build is no longer distributed; source can be requested privately.
Pure external, by design.
No injection. No hooks. The cheat lives in its own process and reads CS2's memory at a steady 128 Hz tick - the same cadence the server runs at, so per-frame state never goes stale. Inputs go out through a hardware-style driver path so the OS sees a real mouse rather than a process posting messages.
That constraint shapes everything downstream. Targeting, ESP, chams - every feature ends up being a question of "how do you get the right bytes, and how do you act on them without touching the game?"
A full feature surface, organised.
The menu is split into Combat, Visuals, Utility, Config and Settings. Each tab is its own page in the overlay with its own preview widgets - toggling chams shows you the chams material on a small mannequin, the ESP page draws a live preview of every box, dot and flag you've enabled. The point was that no setting should require a restart to verify.
- Aimbot - FOV, smoothing, multi-bone (head / neck / chest / pelvis), visible-only, predictive, RCS, first-bullet delay, no-shoot-smoke
- Triggerbot - randomised press / release windows, hit-chance gate
- Flickbot - angle-snap with optional restore back to the pre-flick aim
- Silent Aim - click-window targeting, configurable max FOV
- NoSpread - hit-chance gate against the live spread cone, never blocks valid shots
- ESP - boxes, skeleton, healthbar, head dots, snaplines, off-screen indicators, info flags (armor, scoped, flashed, defusing, C4, ping)
- Chams - five materials: Flat, Ghost, Wireframe, Glow, Galaxy
- Radar - draggable, zoomable circular minimap
- Spectator List - named list with first-person / third-person / freecam tags
- Items & Projectiles ESP - dropped weapons, grenades in flight, C4
- Grenade Predictor - full bounce trajectory with optional gradient path
- Watermark - draggable, branded
- Anti-Flash - kill the white-out cleanly
- Media Overlay - in-game music widget, draggable, persists with the rest of the config
- Per-weapon profiles - every combat setting can fork by weapon
- Config Manager - multi-config save / load to
%APPDATA%\SAIR, hot-swap at runtime
- Four-tier anti-analysis - timing, syscall queries, integrity verification, hypervisor checks
- String obfuscation - every meaningful string compiled into noise, deciphered on use
- Randomised check order - Fisher-Yates shuffle each tick so no static breakpoint catches the same call twice
- Hidden threads - workers don't show up to a debugger walking the thread list
- Self-integrity - the checks check themselves; patching one trips the next
- Silent exit - detection poisons internal state and the main loop drops cleanly. No popup, no log.
Three things that took the longest, and were worth it.
The anti-analysis stack. Anyone can call IsDebuggerPresent. Stacking four independent classes of check, randomising their order, and wiring them so a tampered result re-fires on the next tick - that took weeks of reading, breaking my own builds with debuggers, and patching the gaps. I won't go into method specifics; the short version is: timing, syscalls, integrity, and VM identity, all on a 15-second cadence with a near-zero overhead budget.
The NoSpread gate. The aimbot doesn't just track - it asks the spread model whether the shot would land before letting the trigger through. Knives, grenades and C4 fall through unconditionally so you never get blocked on a weapon the table doesn't cover. It's a small feature; the predicate behind it took me longer than half the rest of the build.
The overlay. Custom ImGui theme, sidebar nav, per-feature pages with live previews, draggable widgets, smooth animations on every transition. It feels like a desktop app, not a hot-glued cheat menu - which was the whole goal.
The interface - built like a product.
Five top-level tabs, each with its own subpages. Quick toggles up top so you can flip the four combat features on without clicking through. Per-feature live previews so you can dial in chams or ESP without ever leaving the menu. Configs save in milliseconds; hot-swap during a match works.
"The hardest line to walk was 'powerful, but not obviously powerful'. The interesting work isn't building the feature - it's deciding where to stop."
From here.
Sair is shipped, and now closed. Development has ceased - the public download has been pulled and no further updates or patch-syncs are planned. The next step is the universal color-aimbot engine I've been chipping at on the side, sharing the input layer and the overlay shell with this project. After that: HWID work - properly, at the driver level.
The complete source code is no longer distributed openly, but it can still be requested from me privately on a case-by-case basis. Reach me on Discord if you'd like to talk about how the parts fit, or to ask for the source.