// guides

External vs Internal Cheats

CS2 cheats work in one of two basic ways, and the difference between them shapes almost everything you run into day to day: why some features aren't possible, why you have to wait a while after a game update, why some programs crash the game. This page explains that difference without drowning you in jargon.

// part 01

Two methods, one goal

Every cheat has to solve the same problem: finding out what the game knows at that moment. Where are the enemies, how much health does each have, has the bomb been planted? While the game runs, this information sits in your computer's memory. The difference is where the program gets that information from.

External from outside

A separate program

It runs alongside the game as a completely separate application. Using the ways Windows allows, it reads the game's memory and shows what it learns on a transparent layer it draws itself.

It doesn't touch the game's files or place anything inside it. From the game's point of view it's just a window sitting in front of the screen.

Internal from inside

Embeds itself in the game

It loads its own code into the running game. It becomes almost part of the game: rather than just reading data, it can call the game's own functions and change its behaviour.

That closeness means more capabilities, but it also means interfering directly with how the game works.

An everyday analogy: external is like watching a match from the stands with binoculars — you see everything but can't step onto the pitch. Internal is like a spectator jumping out of the stands onto the pitch: now you're right in the middle of the game and can touch much more — but it's obvious you shouldn't be there, and all eyes are on you.

// part 02

How does this difference affect you?

The conceptual difference is nice, but what really matters are the consequences. Here's how your chosen method shows up in everyday use:

What can be done?

An external program can see what the game knows and show it to you: enemy positions, their health, the weapon in their hands. It can also help you aim by moving the mouse. But it can't change the game's own rules. For example, features that let you shoot without aiming — because they require getting inside the game — are not possible on the external side. We say this openly; an external program claiming otherwise isn't telling the truth.

What happens if the game crashes?

If an internal program hits an error, that error happens inside the game and usually takes the game down with it. On the external side, the program and the game are separate processes: if the program has a hiccup, the game carries on unaffected.

Visuals and performance

Internal programs add their drawings to the game's own image, so what they show lines up perfectly with the game. External programs draw on a separate layer — extra work is needed to keep that layer in sync with the game. Also, some effects that go into the game's image itself (seeing through a smoke cloud, for example) can't be done externally.

// part 03

What is an offset, and why does it break with updates?

This is the question our users ask most: "It worked yesterday, the game updated, today it won't open. Why?" To understand the answer, you first need to know the word offset.

Picture an apartment building

While running, the game places all its information in memory. Think of it as a huge apartment building: each flat holds one piece of information. Players' health in one flat, their positions in another, the bomb's status in yet another.

An offset is the flat number in that building. A cheat works with the knowledge that "players' health is on the 3rd floor, in flat 7". It goes to the right flat, reads the data and shows it to you.

The key point: these numbers aren't written anywhere in the game. They emerge when that version of the game is compiled, and for an outsider they're things that can only be found.

When Valve releases an update, the game's code changes. A new feature is added, a bug is fixed, something is reorganised. As a result, the flats in the building get renumbered. Data that was in flat 7 yesterday may have moved to flat 9 today.

Here's the problem: the program goes to the old number and doesn't find the data it expects. What it finds is now completely unrelated data. ESP drawings drift from players' real positions, names turn into gibberish, some features don't work at all. The program isn't "broken" — it's looking at the wrong address.

That's why every CS2 update needs a round of compatibility work: finding the new flat numbers. This is redone with every update, and how long it takes depends on the size of the update — short for a small patch, longer for one that changes the game's structure.

So what should you do in the meantime?

Internal users: when the updated version is released, it's announced in the in-game menu; just download the latest file from your dashboard and load it again.

External users, the answer is even shorter: nothing. The program fetches the current values from our server itself at launch; you don't need to download a new version.

Until the update work is done, External deliberately won't let you into the game. That's not a fault but a safeguard: playing with a program that reads the wrong addresses isn't just about seeing meaningless lines on screen — it leads to unpredictable behaviour. Once the values are ready, just open the program.

We announce the current status on our Discord server.

// part 04

Which one is safer?

Let's give a clear answer: the external method is safer, while the risk on the internal side is noticeably higher.

The reason lies in the method itself: an internal program places itself inside the game, so it sits in the same room as the anti-cheat. A protection that monitors what happens inside the game is much closer to spotting foreign code sitting right there with it. An external program stays outside the game; it places nothing inside, so where that monitoring looks directly, it isn't present.

External lower risk

It runs outside the game as a separate program and adds nothing to it. It doesn't enter the field of view of a protection that scans the inside of the game.

Internal higher risk

It loads its own code into the game. It can do more, but it sits exactly where the protection looks most closely.

That's why we offer both products. Internal is for those who want features like ragebot, anti-aim, skin changer and material chams that external can never do; External is for those who prefer a lower risk profile with a simpler package. We write about the difference instead of hiding it — making an informed choice is better than being won over by an exaggerated promise.

But in the end: every method carries risk. Being “safer” isn't the same as being “safe”. Anti-cheat systems don't only look inside the game; they can also judge how you play. You don't need to find the program to notice someone playing as if they know what's behind walls.

No program, EloHane included, can guarantee you won't get banned. Any seller who gives such a guarantee is lying. Use is entirely your responsibility, and you should decide knowing you might lose your account.

More

You'll find which modules EloHane offers and what each setting does on the features page. If anything is unclear, check our FAQ page.