Hacker News new | ask | show | jobs
by laurentdc 2040 days ago
I still don't get why they can't make a basic anticheat or protect the process memory like most other games (even the Faceit AC client itself for CS:GO!). Is there some explanation like keeping compatibility with very low end PCs?

You can get wallhacks in multiplayer by simply using WriteProcessMemory calls. [0]

[0] https://github.com/Snaacky/Diamond/blob/master/diamond.py

5 comments

To be even remotely safe from this, you need to use a kernel driver, which is invasive and widely seen as unacceptable - at the moment anyhow.

See Riot and Valorant from earlier this year. There was a lot of outcry and the response from the devs was basically "we don't give a damn".

Other games, for example, scan window titles or signature for a variety of debuggers/hacking tools like IDA and x64dbg. There's many techniques and variations you can apply to make things like this more "annoying" - but never impossible.

Earlier this year, there was a PCI card PoC that would read memory and act as an "undetectable" wallhack - people are clearly crafty enough to always find their way around.

Is there a way to check what games/platforms install kernel drivers? I recently installed trackmania and after jumping through what felt like 10 hoops just to play the game (log in to epic, download epic games store, log into ubisoft, etc etc), I realized I have idea how much stuff is being installed on my pc after all these steps.
Most recent games install their anticheats from their own folder, so if you open something like Process Explorer and look at the loaded drivers list, you could tell by the path.

However, AFAIK nearly all games with anti-cheat (save for Valorant of course) load their anti-cheat when the game starts and unload it when the game closes. You can run something like Process Explorer/Monitor before running the game, then notice what drivers & services it's loading.

There was backlash about Riot's Vanguard but I feel it was mostly driven by the gaming media as the vast majority of consumers don't understand the nuance of userspace vs kernelspace.

I'd expect more developers begin to deploy kernel-level anticheat in the future.

>There was a lot of outcry and the response from the devs was basically "we don't give a damn".

Because "we" gamers tend to prefer to have fair game

Playing against cheaters destroys fun and the games itself.

It's hard trade off, but your average gamer would rather to play fair game.

I don't think you can attribute this universally to "gamers" - there's a lot of games that don't have obvious hacking problems by employing various other measures which aren't as invasive.

I'd call myself a "gamer" and would never install something like Valorant - and most of my friends didn't either. Some of us value our privacy more than getting rid of the one hacker we get per week.

>Some of us value our privacy more than getting rid of the one hacker we get per week.

oh c'mon.

It's heavily dependent on the game.

There's different % of cheaters in CS, in LoL, in Tibia and a lot of other games.

e.g there isn't a lot of cheaters in LoL because (besides other) cheats do not have as huge impact there as in other games like shooters.

On the other hand cheats in Tibia are just bots that exp for people whole days (in majority of the cases; at least before BattleEye).

>Some of us value our privacy

Installing and running giant program which can do shitton of crazy things under the hood already says that I trust enough that vendor.

Unfortunely their soft does not need kernel level permissions in order to be dangerous to my privacy, so what's the exactly difference?

All they have to do in order to compromise my privacy would be just sending screen shoots to the cloud that I'm writting snarky comments on HN.

Presumably, server sdmins, mods or players can votekick players who they think are cheating. If a player is cheating such that they are indistinguishable from another good player, then that's kind of mission accomplished and doesn't really matter if they stay.

This general philosophy has been around in all CS games and has worked well IMO. Just gotta find an applicably well maintained server to play on first.

That only takes care of ragehackers (e.g.: blatant aimlocks) and throws very good players under the bus. Most cheaters toggle their cheats, make sure to not do too well, allow someone else to finish the kill (to not appear in the killcam), etc. It's common enough that most cheats out there have a strong disclaimer of "don't be obvious".
Getting kicked (and sometimes even banned) from such a server just because you're playing well one day isn't much fun.
IMO it's way better than dealing with intrusive and oft buggy anticheat, and there's always a chance that you'll find yourself with the rare but inevitable false positive bans that these systems give out. Moreso when they been you simply for having software they don't like on your system (e.g. autohotkey with Blizzard, reverse engineering software with many devs...)

Joining a new server from a list with filters is fast and easy.

Just as it is to find and acclimate to a server that is at your skill level and/or becomes familiar enough with you not to kick you for a hot streak.

When the code is chaotic enough it may be impossible to write an anti-cheat that can't be guaranteed to not trip from ordinary in-game code.
They do, it's called VAC, this repo even says you will get banned using this.
Won't this hack be caught by VAC? And if not, what is VAC actually doing?
It's not caught by VAC. I changed the glow colour (which probably changed the signature), tested it a few months ago on local server and then played some Valve deathmatch on official servers, account is still good. I'd expect the game to at least throw me out of the server if I tamper with what objects should light up, but nope.
If I remember right, VAC doesn't necessarily immediately ban a cheater. It might instead put them on a list. After the hack's popularity increases, there is a mass ban of everyone detected using the hack at a later date.
They do bans in waves to try and keep people from knowing what cheat/hack they used that got them banned. VAC might not have caught you, or you might get banned in one of the waves where they ban thousands of people all at once.
If you changed a known hack you might be scheduled for banning at a later banwave instead. Otherwise cheat developers would just make changes and test what gets them banned.