Years ago for educational purposes I decided to venture down understanding how easy/difficult it was to create a hack for Counterstrike.
After just a few hours of watching YouTube tutorials and translating what I could grasp from C/C# into JavaScript (the only language I knew at the time), I had a working Node.js executable that edited memory offsets (using data from hazedumper[1]), letting me see enemies through walls and auto-fire as soon as they entered my crosshair.
I obviously only tried it out on an alt steam account for fear of the infamous VAC ban, but no such ban happened. I only toyed with it for a few weeks as I then grew disinterested but that definitely left a sour taste in my mouth for the "effectiveness" of VAC if a script kiddie like me at the time could throw together something custom in just a few hours, I'm sure it'd be much easier now with ChatGPT...
> I only toyed with it for a few weeks as I then grew disinterested but that definitely left a sour taste in my mouth for the "effectiveness" of VAC if a script kiddie like me at the time could throw together something custom in just a few hours, I'm sure it'd be much easier now with ChatGPT...
The thing is, VAC doesn't immediately ban you. Or anyone else. It's looking for suspicious patterns across hundreds if not thousands of players and collecting evidence over weeks if not months to make sure they got relatively low false-positive rates and don't end up banning people for a Windows update gone wrong... and additionally, it raises the iteration time for cheat developers as well, and that's the true point. Show cheaters immediately that they're spotted and the only thing you enter is an immediate arms race.
Your way of writing a cheat was probably detected but since no one else used it, VAC didn't trigger.
Blizzard's battle.net used to do that. They'd ban in waves. I imagine immediate bans would make it much easier for cheat authors to figure out which cheats were detectable and which weren't.
I haven't followed recently, but what I have understood is that clear known old public hacks can result immediate ban. For newest hacks they will gather cohort and then do them in wave. Thus making it harder to evade detection or notice what exactly was detected this time.
If people want to test these kinds of exploits, you can do so on a server that is not VAC-secured. That won't risk your account being VAC banned. (Of course, if you really want to be sure, use a secondary account and a server that's not VAC-secured)
Unlikely. Last I looked, VAC only looks at a few gross elements, like the names of the DLLs loaded into the game's process. If you don't match a blacklisted name, you're probably not detected.
I'll never understand what people actually get out of cheating in games. I'll admit I've tried it a few times just for giggles (way back in the Age of Empires II/MSN Gaming Zone days), but the novelty quickly wears off and then it's just not even fun anymore.
There must be some very interesting psychology behind this.
I've botted in a few MMORPG games and the appeal is that it's basically a new perspective on the game. Also makes it more of a technical challenge than a test of mechanical skill or free time / patience.
It still feels like a game in the sense that there's progression and rewards for progression. For example, learning how to read cooldowns means you can make smarter macros and double your income / cut kill time by half. There's even different "build paths" in that you can choose to go the memory reading build (fragile but reliable), network sniffing build (less fragile but expensive), or computer vision build (easy but unreliable and expensive).
From a technical perspective, the appeal is having an excuse to try out new stuff like SAT solvers, rules engines, or whatever ML thing I just learned about. It's also a good exercise in all the math and data structures + algos stuff I've learned but never use at dayjob. Optionally, building a UI to manage the bot is fun for the same reasons, an excuse to try out new frameworks / design choices / etc. It's basically another programming job but without the icky business / customer considerations.
Though I do agree that cheats in any PvP scenario is pretty lame. It has a much bigger negative impact on other players, and it's not as much of a puzzle (mostly aimbot and pathing). In comparison, PvE games are usually social and unless you're running a swarm of VMs, you're unlikely to affect the economy or otherwise inconvenience anyone.
One anecdote: I "cheated" at EVE Online by writing an elaborate set of modding tools. Most of it was automation for really finicky tedious stuff like drone management, or automation for things like broadcasting your current target to other players in your party. I also hacked in workarounds for bugs in the official client. It enhanced my experience with the game a lot. On the other hand, lots of players were just botting.
I also maintained a browser addon for a while that had 100k+ weekly active users that added various features to a browser-based game. Eventually that game had such bad problems with botting and cheating that they had to introduce an anti-cheat system, and we basically got into a little arms race for a year or so where they'd add a new detection system and I'd circumvent it. Similar to the EVE Online modding it was things like workarounds for bugs in the game, improved UI, keyboard shortcuts, etc. Eventually they drew a line in the sand and said anyone using addons of any kind would get a permanent ban, so that was that.
I think the vast majority of cheaters are just in it to ruin other people's fun but sometimes people are violating ToS for a better or different experience with the game. It's unfortunate that the prevalence of malicious cheating means that anti-cheat technology also has to basically ban modding for fun.
It's pretty simple, nowadays the ONLY way to have fun in most multiplayer games is to win by any means. Outside of a few games like minecraft, every other game is designed around winning. 6 of the most played games on steam right now are some combination of competitive FPS / pvp survival or Dota 2. All of these games give you way more rewards for winning over just casually playing so over time the community is incentivized towards maximizing ELO, mastering the meta, and finding any ways to gain an edge on the competition.
I won't say it was better back in the 90s/ early 2000s but games had lobbies and people would just naturally drift around until they found one that satisfied their needs, be it playing more causally or for a more hardcore experience. Nowadays matchmaking is all controlled by the almighty algorithm which is just a glorified ELO/MMR system and dumps people together regardless of whether or not the game is "fun" for them. Worse yet "Quitting" is actively punished so you just have to stay in the game being frustrated and angry at your teammates until you lose. I always use pick up basketball as an example of how lobbies should work with people being given the choice of playing until they are tired/bored and punish trolls by excluding them forcing them to seek out another court or just start their own games.
Now that i have sworn off all competitive multiplayer games because i used to be a real fiend with several thousand hours in Dota 2 i have come to realize that as fun as the game is the fundamental failure of every matchmaking system is that your fun will always be dictated by how often you win because that's the only thing that is rewarded both in the game and by the community. If you look at any forum for these competitive games it's always the same complaints with people bemoaning that the balances is bad (AKA i don't win because if i did why would i complain), the game is too hard for newbies (AKA i don't win because the skill level is too high), and that the community is too toxic (AKA i don't win because i don't take the game too seriously and people get mad at me).
I'm much happier playing singleplayer games or exclusively cooperative games like Helldivers and Deep Rock Galactic and think most people would be too but they need to come to the realization that it's not the games fault per se but the underlying mechanics behind the matchmaking systems.
In games where available weapons/gear depends on some global "level", this could be a way to get your desired weapons without having to grind for weeks/months. I guess a silver lining of "pay to win" games is that you can now pay to avoid that.
I remember trying to hack the levelling-up mechanism on Crysis 2 - it worked by sending your post-game stats (client-side) to a master server, so editing those stats in memory before that happens would work (there seems to be no tracking of stats on the game server side - even though they could've had the game server relay that to the master server).
Memory is fuzzy but I think I managed to level up to a stage where I got the weapons I wanted. For my defense this kind of "cheating" only "cooked the books" on the leaderboards and did not give me any actual advantage in-game.
For a lot of them, they aren't cheating, they are compensating for bad teammates, bad servers, other cheaters, bad hit reg, bad sound effects, bad whatever they can dream up.
Cheating is "this is my actual skill level if there wasn't so much bullshit happening to me"
Of course this is all a lie, but it's what they tell themselves.
My perception of the psychology is a malformed competitive drive. Competition is fun! But when it gets someone to the place of "Must win at all costs" it can be life-destroying. For the video game cheats, I think it starts out as "Must beat the other players", but then that gets (mostly) boring once they are actually are beating the other players, and it shifts to "Must beat the anti-cheat system."
At this point games like call of duty, especially warzone, is completely unplayable to me due to the massive skill gap. I spend more time in the game lobby than actually playing the game. Warzone is especially bad as you are kicked out when you die, no respawn. It makes for very frustrating gameplay.
I seriously considered cheating at some point just so that I can actually have some fun and get to the end-game without constantly fucking dying. But then I remembered there are other games that I also enjoyed playing, and then I stopped playing CoD.
In single player games it is just another way to have fun. I mean, Minecraft creative mode is essentially equivalent to turning on all the cheats. It removes all the built-in challenge and then you come up with your own game.
It doesn’t seem very appealing to me, but I don’t think there’s any particularly interesting psychology behind it. Rather one could say I lack creativity and need monsters to motivate me to build anything.
Cheating in real competitive games is rude, though, for sure. But most people don’t play top-level competitive games.
Cheating in pseudo-competitive games like Overwatch or Dota is both rude and stupid. Because the game can just find people to match your cheat-augmented skill level anyway.
I was a cheat developer and I did hang out with cheaters and other developers. I'm surprised people in this thread haven't mentioned one big motivation for cheating yet. Plain old trolling, making other people mad at you, making them insult you in chat, etc.
There were TF2 bots that autonomously queued for the game's casual matches, spammed the chat, aimbotted and made the game generally unplayable for a while, you could host a bunch of them on a not so beefy computer and make them queue separately or together.
One of the features of those bots was streaming the chat logs from the matches into Discord/Telegram channels for cheaters/bot hosters to laugh at and make compilations of. It was funny and entertaining to see people having their moods ruined for no reason.
In game (TF2 specifically), when I see cheaters, they are usually also extremely annoying/purposely abrasive in other terms as well - frequent use of racial, transphobic, homophobic slurs, furry/anime/my little pony profile pictures, blatantly cheating while denying it, general smugness - they are trying to maximize the negative reactions they can get out of you. I'm really ashamed to have once been like that and I'm really glad that I grew out of it. It was absolutely not a healthy way to have fun for myself, and not a great community to spend time in (a lot of cheaters pretend to be extremely bigoted for a reaction, but some are genuinely like that). I met some genuinely good, talented people there, but they didn't stay involved with the cheating community for long, and eventually I left it too.
even if everyone only tried it for a week, that still means there will always be a certain number of cheaters in games, because new players are always joining
I, quite literally, got a career! Started as a technical curiosity, gave me in-roads to very weird corners of the internet. Got to know many professionals I wouldn't have, otherwise.
Ultimately served as the most effective networking I ever did.
The result, and the taboo method gives a thrill. It's a power trip essentially. It is also used to close the perceived skill gap, or get revenge. Some people enjoy a very uneven power balance - in games, this means that they like to get an overwhelming win, or "stomp". Sometimes skilled people achieve this by playing in a league that is much less skilled than their own, "smurfing". Technically not cheating, but it's usually against the EULA, and creates essentially the same situation.
All in all, it's just power dynamics, and lack of compassion.
Back in the cs1.6 days there were servers that advertised as hacker servers. Obviously anti cheat was turned off, but the draw was that everyone was hacking and you could test your hacking skills. The goal was to see who had written the best hacking software. It was actually really fun and an entirely new way of playing the game.
I never cheat in multiplayer (also because i don't like multiplayer with strangers), but i do cheat sometimes in single player games to speed up progress. I lack the time and hate the grind. If a game has a very easy or story mode i will happily select that one.
Because the average joe needs the sense of achievement. Lots of people have near zero success in life, or power above something, and this is their supplement.
Plus most of the modern multiplayer games, especially fpses, are centered around a few individuals who have skills above the herd or they are playing by different rules (meaning of this is up to you...) and everyone else is just filler so that these above average players can "harvest" them. Just like Bodybuilding. You have the top notch competitors who everyone tries to imitate. And that is what sells the supplements, while all they buy is an illusion that one day they can achieve the same physique.
So let's say you have Apex Legends where well known players show how they literally obliterate everyone else. So the matchmaking (which is deliberately shit) sends these "predators" to hunt the prey, who are essentially sheeps.
People watch these streamers and try to imitate or get to know how to be at the skill level they have (which is near impossible for several reasons, I'd rather not explain). So the whole business centers around these outstanding persons, and the sheep buy the shiny digital bullshit, thinking that might elevate them to the "bigname" monkey's level.
It’s actually probably pretty benign psychology in my opinion.
Nobody on your own team is really gonna notice if you’re cheating unless it’s speed hacks or something. So your own team is hyping you up for being a god, and it feels good.
Plus a lot of people like you - trying it out for the novelty. Most people aren’t doing it, but seeing it once ever 20 games would probably be enough to drive you insane.
How did editing memory offsets auto-fire based on enemies entering your crosshairs? To my knowledge this would require some code hooking at least. (Or are you using "editing memory offsets" to mean "writing new instructions into the process' memory"?)
I once tried an early GTA V multiplayer mod, pre-FiveM, that used .NET as a basis. They didn't apply any protection to their mod DLL though, and it was trivial to modify it in any way one liked with DnSpy.
I used it to completely automate a grindy task on a server complete with chat hooks, and automatic teleportation to sell the items and back. And also implemented a trainer of sorts with all sorts of functions. The networking didn't appear to handle the teleportation well, and to anyone else my character never moved.
I ultimately didn't use it as an advantage in any meaningful way, I only played to see how far I could mod it and stopped, but never used it against anyone, and stopped playing once I was satisfied with my ill-gotten gains rotting on my account.
Reported it to the devs afterwards, who seemed disinterested but did at least obfuscate the binary, but neglected to do the same to the client JS API loader, so I used that to inject custom client scripts and override server supplied client code.
I'm sure people could do more interesting stuff with BepinEx/Harmony these days, but I never had enough inclination in .NET to learn to implement those. But it was still really fun to twist the game around like that.
these days you can open the devtools for the web-based inventory systems and start sending malicious events straight from the console. filed as not-a-bug...
Arriving at college back in 2001 my roommate and I setup a CS server. A lot of the freshman were getting their own computers for the first time, and had not ever played computer games before so we basically kickstarted a CS community. I think it took about a month before a lot of them started cheating. It is kind of ridiculous how much of a plague cheating is on competitive gaming. Back then we would just observe the players and then ban their IPs. Which was luckily enough given how the campus network worked.
I am not a fan of the signature-based techniques used by VAC, et. al.
I've lost a few steam accounts to accurate but unintended (i.e., not actually cheating) detection of debugging tools attached to totally unrelated processes on the same machine. Having anything open like cheat engine or Tsearch while you join a lobby is a guaranteed ban no matter what. Ethical hacking and malicious hacking are indistinguishable from the perspective of this kind of machine-wide blind signature detection.
Statistical techniques can dramatically reduce false positives in cases like this. If someone at Valve had taken 10 seconds to review my stats during the detected interval, they should have been able to conclude I was not a threat to fair play.
> Having anything open like cheat engine or Tsearch while you join a lobby is a guaranteed ban no matter what.
I think a no-brainer solution here, which I am surprised isn't used, is to just immediately kick the account when a well-known signature, such as CheatEngine, is detected. If the program isn't even attempting to get around VAC, there is no point in doing the whole "delayed ban" thing.
Or even banning at all. As you say, kick out of an abundance of caution. Any serious attempt at rule breaking is going to involve at least some basic obfuscation so if that's missing it's a strong indicator of a false positive.
That said, my snarky response is "I hope you learned your lesson about the need to restrict proprietary software to a container at all times".
>If someone at Valve had taken 10 seconds to review my stats
It seems super reasonable when it's a one-off thing for your own account. When you think about making it into policy and scaling it up to 1000s of interactions, it quickly becomes unreasonable.
>Statistical techniques can dramatically reduce false positives
For a period of time, anyways. Until the statistics get gamed by the cheaters (e.g. adjust accuracy of your auto-shoot from 100% to 85% or whatever).
Computation isn’t likely prohibitive when using the bedrock of predictive models, linear regression, especially w some optimization. Could also vary observation time so you only need a prediction once every ten minutes or whatever
The real issue is the cost of false positive detection of cheating is negligible since the vast majority of positives are probably true positives—it’s the cost of doing anti-cheat business (minimal)
But yes cheats would be modified to just below thresholds of detection
You could just do a basic automated review of stats. If someone has a 50% win rate and a 20% accuracy, they're probably not cheating - what's even the point of cheating if you don't win more often than chance?
> adjust accuracy of your auto-shoot from 100% to 85% or whatever
Sure - looking at K/D, accuracy, etc., is an important factor in a statistical model.
Statistics can also include: Map name, player transform on the map, keyboard and mouse events, GPU utilization, audio playback events, etc. These are all very high information time domain signals that can be correlated with the same from any other player.
After a certain point, I don't think it matters if it is publicly known what your signals are. The amount of information becomes overwhelming in aggregate. You can impose the curse of dimensionality on the cheater.
I understand the sentiment but I can't bring myself to think valve is to blame or should be doing more. Getting a case of "Yes officer, I have an NO2 bottle in my trunk, but what it is plugged to is not actually the air intake for my car but something entirely unrelated, if you just take 2 hours to dig around and take it apart you'll also realize this"
Thats such a bad example. Ofc you can carry NO2 bottles plugged into something, if its not air intake of your car, and investigation should happen finding you not guilty.
When you're accused of breaking the law, your accuser must prove you have broken the law. If they cannot, there are actions you can take to recoup your damages.
Valve can ban you for any or no reason with no means of recourse or refund.
Actually, VAC handles Cheat Engine and the like very well. You won’t get banned for simply having them open, only for having them attached to the game, which I think is reasonable.
I used to use CheatEngine on single player games that I ran through Steam, and I don't recall Steam having a problem with that at the time. Not sure if it's changed, but it was pretty reasonable.
signature detection can also make a false positive if running under Wine or in a VM (that's for example why you can't play League of Legends or Valorant with GeForce Now anymore since Riot revealed their new anti-cheat...)
Looking up some quick stats, Steam has 132 million monthly active users and 69 million people use Steam on a daily basis. Not all those games are using VAC, but just looking at CS2, it routinely has over a million players playing it.
Nobody is going to “take 10 second to review” anything with those numbers.
Back in 2000-2005 I was very active in a community centered around 20 or so modded Counter-Strike servers which I volunteered as an admin on. We were generally good about having at least one admin on each server at any given time to deal with cheaters. Occasionally someone wouldn’t be around though.
There was a period of time lasting about a month or two where a player with a name like BELT SANDER or ANGLE GRINDER or TABLE SAW hung around. They were pleasant and unremarkable, but they frequently used new Steam accounts and switched IPs.
This person definitely wasn’t supposed to be an admin, but if they were around when someone was cheating and no actual admins were there, they’d somehow elevate their own permissions and ban the offending player. We tried to figure out what was happening and to see if we could somehow stop them, but we never did manage it. They were somehow gaining rcon access to the host server. After a while we just shrugged our shoulders. They didn’t seem to be harming anything, other than our peace of mind about our security. Overall they were actually really helpful for stopping late night/early morning disruptions.
I used to write cheats for CSS & other Source games. Not sure if the original CS would have the same vuln, but iirc you used to be able to use an INetChannel::ReceiveFile function with path traversal to grab the server config. There were a few cool hacks around the file path filtering logic they added in my era that (combined with ::SendFile) enabled a fun period of arbitrary RCE on Source servers.
I knew one person who made a wormable payload for a game I won’t disclose which used that method. The methods are in engine.dll so it’s symmetric, clients would infect servers, which in turn infects more clients, etc. Around then was when I decided to start gaming from a VM lol.
> Around then was when I decided to start gaming from a VM lol
How?
Maybe I’m getting my dates mixed up but CS was released in the late 90 / early 90s and consumer virtualisation wasn’t nearly good enough to game in for another 10 years.
Consumer CPUs didn’t have virtualisation extensions and GPU paravirtualisation wasn’t available either in the early 2000s.
VMWare wasn’t even any good for just running Windows
2000 (I mean, it was seriously impressive tech for its time, but it was dog slow even for just basic basic things). So you’d be stuck with Xen for anything serious. And that wasn’t trivial to get set up back then.
Plus given the lack of drivers for virtualised hardware like soundcards and network interfaces, you’d likely be stuck with full fat emulation for those devices.
This exploit has its origin in the Quake engine. I remember exploiting the same thing in CoD4 (2007) and I believe even the release version of Black Ops I was vulnerable. It was known as the ‘q3dirtrav’ vulnerability.
Interesting, a friend of mine did that in GMod, leading to the infamous 'cough' virus. (Yes, all the 'journalism' around this is wrong, and it's not the person commonly blamed for it).
Maybe you would be the person to answer this. Back in 1.6 it was common to install amxmodx for use as admin software in game. There was a function in one of the menus that would open up a players disc drive on their PC!
I was an admin on a wc3 fun server back in the day and would do it to people for fun. Too young at the time to ever think more about how that was actually done or what security vulnerability that must have been exploiting! I always wondered how it was done.
I love this story. Feels like a modern take on one of those old "hidden master" stories where offending the quiet old man turns out to be a disastrous idea.
I stopped playing because I felt I could not trust other players, I was getting too paranoid. There were not that many blatant cheaters, but with closet cheaters, it's now very difficult to know if your opponent is better than you or cheating in subtle ways. It's a grey zone.
I guess it's the combination of a frustration of losing matches and the constant suspicion. I was constantly trying to probe things and watching replays, it ruined the game because I was always focusing on cheating.
Ultimately, I think most CS players don't really care about subtle/closet cheaters, so as long as they don't feel it, it's fine, the game keeps its high player count, so it's a good facade and valve is happy with that.
CS is a game I can really enjoy, until I couldn't anymore.
In one specific area, I think this was actually the point, and that was Minecraft servers.
Minecraft minigame servers were very competitive, and very shady, using every dark pay-to-win, gacha psychology trick in the book and even some new ones (in particular, pay-to-unban). They also had very public, competitive popularity rankings among themselves, which players actually used to pick a server.
So I'm pretty sure they also actually paid account stealers to go to competing servers and cheat. The account stealers didn't have any better ways to monetize their huge lists of stolen account credentials.
What makes me think this is the huge number of accounts who would cheat in obvious ways and immediately get banned for it. There didn't seem to be much effort to avoid bans, but when you can join minigame after minigame, and all of them have one guy who ruins it by cheating and immediately gets banned, I think that's economics at play, not just psychology.
I'm closing in on 3000 hours on cs2, and I often get accused of cheating, but I never have. You're definitely right about people being upset and thinking that someone is hacking. I'm pretty good at spotting "togglers" (people who turn their hacks on and off) but there are certainly times where it's really hard to tell, people can be very sneaky about hiding it. Then sometimes someone will call them out and they'll stop pretending.
It's been quite a while since I've seen anyone spinbotting though.
Same problem here. I doubt I'll ever touch an online competitive game ever again . Back in the 90s and even early 2000s cheating was different as people would be extremely blatant and it would sometimes even be funny watching people fly around in Halo. These days there is actually profit to be made through cheating by winning tournaments and streaming. Thus they now hide it as best as possible and even pay large sums of money for individualized cheat software. The game is now to cheat as best as possible without getting caught.
There is no way to guarantee all participants are legitimate so I am not interested. It feels like a complete waste of time putting in the effort.
This isn't true, or at least it wasn't back in the day. The logic Valve seemed to follow was that VAC was "engine" bans. If you got banned in a GoldSrc game, you'd be banned in all games using that engine, but you'd be allowed to continue playing source games. The same was also true in the opposite case.
More importantly, this meant that getting banned in Modern Warfare 2, wouldn't get you banned in any other game, since no other games were released on that engine.
It would show on people's accounts though and in in Counter-Strike scrims and matches if somebody had a VAC ban on their record/profile you just kicked them if you could and found a new team to play.
So while engine specific, people still judged you, especially in pubs (public servers)
Been a _long_ time since I've played. Fucking cheaters.
It's "just" an automatic update, like Chrome, etc.
It's one entry-point among others for RCE. If tomorrow NSA wants to gather any files on your computer, all they need to do is to ask Google to push an update for you through Google Omaha.
I'm really curious about this but searching for "Google Omaha" doesn't return anything related and the linked FOIA request is... just a request, which I assume anyone can write whatever they want in the request.
>If tomorrow NSA wants to gather any files on your computer, all they need to do is to ask Google to push an update for you through Google Omaha.
They could in theory, but has this actually happened in practice? Pushing a rogue update isn't exactly a novel idea, but despite decades of government document leaks and APTs being analyzed, there's scant evidence that any government pressured a company to push a rogue update. Same goes for other threat models like "government pressuring CAs into issuing a certificate".
The other day I mentioned that it's not OK for games to be proprietary software and/or use unethical software like DRM (which tbh anti-cheats are as well). I got accused that I wanted game developers to starve to death.
I'll chime in here as a game developer: my upcoming release will be an NES cartridge[0] and probably a Steam app. I'll be adding no DRM, because I generally trust that folks that weren't going to pay aren't going to be converted by its presence, and that honest folks want to support my work. Whether the storefronts I release on add their own is up to them, and frankly I don't care.
Separately though, anti-cheat is another ball of wax entirely, and I have extremely mixed feelings in this field. Generally I favor "cheat detection should be serverside, don't trust the client" from a general security perspective, but... I can totally see a valid case in there, somewhere, for more rigorous clientside checks. Somewhere along that line though is rootkits and malware, and... well, no, please tell me up front that you loaded your game engine with these things so I can save my money and purchase something else, thanks.
[0] Using a custom mapper, which will help initially to discourage low-effort bootlegs at the very least. It's open source though, and will not be too difficult to add to emulators, at which point the dumped ROM should play fine on them.
There are countries that believed farming should not be profit oriented and curiously they happen to be the ones to have breadlines.
It is no coincidence that America and Japan, the two countries with the most draconian copyright protections, continue to be the dominant player in the game industry.
Profit motive and the ability to reinvest previous profits into future products is the greatest force multiplier in our planet’s history bar none. You can either suck it up like China did in the 90s and convert to a capitalist economy, or stay in the breadline forever. Oh, in this case, I mean play tux racer forever :P
I'm surprised there haven't been more events of mods and tools being used as trojans. For all the concern about anti-cheat/DRM, PC gamers seem very selective over what sources of code they're running on their computers they scrutinize. There's an awful lot of users with "just enough" levels of knowledge where I think a tempting enough release with the right timing for a hot game could get a lot of installs.
What do you mean? There have been ton of stealers and RAT mods for games (and even for normal mobile apps too). It's absolutely a problem and a ton people fall victim to them.
As an early admin of the Steam forums it was always fun when people came on to say they’ve been false VAC banned. There was sometimes the grand denial of any cheating, then the “well my little brother did install something but I didn’t use it”, followed by silence as they gave up.
After just a few hours of watching YouTube tutorials and translating what I could grasp from C/C# into JavaScript (the only language I knew at the time), I had a working Node.js executable that edited memory offsets (using data from hazedumper[1]), letting me see enemies through walls and auto-fire as soon as they entered my crosshair.
I obviously only tried it out on an alt steam account for fear of the infamous VAC ban, but no such ban happened. I only toyed with it for a few weeks as I then grew disinterested but that definitely left a sour taste in my mouth for the "effectiveness" of VAC if a script kiddie like me at the time could throw together something custom in just a few hours, I'm sure it'd be much easier now with ChatGPT...
[1] https://github.com/frk1/hazedumper
The thing is, VAC doesn't immediately ban you. Or anyone else. It's looking for suspicious patterns across hundreds if not thousands of players and collecting evidence over weeks if not months to make sure they got relatively low false-positive rates and don't end up banning people for a Windows update gone wrong... and additionally, it raises the iteration time for cheat developers as well, and that's the true point. Show cheaters immediately that they're spotted and the only thing you enter is an immediate arms race.
Your way of writing a cheat was probably detected but since no one else used it, VAC didn't trigger.
There must be some very interesting psychology behind this.
It still feels like a game in the sense that there's progression and rewards for progression. For example, learning how to read cooldowns means you can make smarter macros and double your income / cut kill time by half. There's even different "build paths" in that you can choose to go the memory reading build (fragile but reliable), network sniffing build (less fragile but expensive), or computer vision build (easy but unreliable and expensive).
From a technical perspective, the appeal is having an excuse to try out new stuff like SAT solvers, rules engines, or whatever ML thing I just learned about. It's also a good exercise in all the math and data structures + algos stuff I've learned but never use at dayjob. Optionally, building a UI to manage the bot is fun for the same reasons, an excuse to try out new frameworks / design choices / etc. It's basically another programming job but without the icky business / customer considerations.
Though I do agree that cheats in any PvP scenario is pretty lame. It has a much bigger negative impact on other players, and it's not as much of a puzzle (mostly aimbot and pathing). In comparison, PvE games are usually social and unless you're running a swarm of VMs, you're unlikely to affect the economy or otherwise inconvenience anyone.
I also maintained a browser addon for a while that had 100k+ weekly active users that added various features to a browser-based game. Eventually that game had such bad problems with botting and cheating that they had to introduce an anti-cheat system, and we basically got into a little arms race for a year or so where they'd add a new detection system and I'd circumvent it. Similar to the EVE Online modding it was things like workarounds for bugs in the game, improved UI, keyboard shortcuts, etc. Eventually they drew a line in the sand and said anyone using addons of any kind would get a permanent ban, so that was that.
I think the vast majority of cheaters are just in it to ruin other people's fun but sometimes people are violating ToS for a better or different experience with the game. It's unfortunate that the prevalence of malicious cheating means that anti-cheat technology also has to basically ban modding for fun.
I won't say it was better back in the 90s/ early 2000s but games had lobbies and people would just naturally drift around until they found one that satisfied their needs, be it playing more causally or for a more hardcore experience. Nowadays matchmaking is all controlled by the almighty algorithm which is just a glorified ELO/MMR system and dumps people together regardless of whether or not the game is "fun" for them. Worse yet "Quitting" is actively punished so you just have to stay in the game being frustrated and angry at your teammates until you lose. I always use pick up basketball as an example of how lobbies should work with people being given the choice of playing until they are tired/bored and punish trolls by excluding them forcing them to seek out another court or just start their own games.
Now that i have sworn off all competitive multiplayer games because i used to be a real fiend with several thousand hours in Dota 2 i have come to realize that as fun as the game is the fundamental failure of every matchmaking system is that your fun will always be dictated by how often you win because that's the only thing that is rewarded both in the game and by the community. If you look at any forum for these competitive games it's always the same complaints with people bemoaning that the balances is bad (AKA i don't win because if i did why would i complain), the game is too hard for newbies (AKA i don't win because the skill level is too high), and that the community is too toxic (AKA i don't win because i don't take the game too seriously and people get mad at me).
I'm much happier playing singleplayer games or exclusively cooperative games like Helldivers and Deep Rock Galactic and think most people would be too but they need to come to the realization that it's not the games fault per se but the underlying mechanics behind the matchmaking systems.
I remember trying to hack the levelling-up mechanism on Crysis 2 - it worked by sending your post-game stats (client-side) to a master server, so editing those stats in memory before that happens would work (there seems to be no tracking of stats on the game server side - even though they could've had the game server relay that to the master server).
Memory is fuzzy but I think I managed to level up to a stage where I got the weapons I wanted. For my defense this kind of "cheating" only "cooked the books" on the leaderboards and did not give me any actual advantage in-game.
Cheating is "this is my actual skill level if there wasn't so much bullshit happening to me"
Of course this is all a lie, but it's what they tell themselves.
I seriously considered cheating at some point just so that I can actually have some fun and get to the end-game without constantly fucking dying. But then I remembered there are other games that I also enjoyed playing, and then I stopped playing CoD.
It doesn’t seem very appealing to me, but I don’t think there’s any particularly interesting psychology behind it. Rather one could say I lack creativity and need monsters to motivate me to build anything.
Cheating in real competitive games is rude, though, for sure. But most people don’t play top-level competitive games.
Cheating in pseudo-competitive games like Overwatch or Dota is both rude and stupid. Because the game can just find people to match your cheat-augmented skill level anyway.
There were TF2 bots that autonomously queued for the game's casual matches, spammed the chat, aimbotted and made the game generally unplayable for a while, you could host a bunch of them on a not so beefy computer and make them queue separately or together.
One of the features of those bots was streaming the chat logs from the matches into Discord/Telegram channels for cheaters/bot hosters to laugh at and make compilations of. It was funny and entertaining to see people having their moods ruined for no reason.
In game (TF2 specifically), when I see cheaters, they are usually also extremely annoying/purposely abrasive in other terms as well - frequent use of racial, transphobic, homophobic slurs, furry/anime/my little pony profile pictures, blatantly cheating while denying it, general smugness - they are trying to maximize the negative reactions they can get out of you. I'm really ashamed to have once been like that and I'm really glad that I grew out of it. It was absolutely not a healthy way to have fun for myself, and not a great community to spend time in (a lot of cheaters pretend to be extremely bigoted for a reaction, but some are genuinely like that). I met some genuinely good, talented people there, but they didn't stay involved with the cheating community for long, and eventually I left it too.
Ultimately served as the most effective networking I ever did.
All in all, it's just power dynamics, and lack of compassion.
Plus most of the modern multiplayer games, especially fpses, are centered around a few individuals who have skills above the herd or they are playing by different rules (meaning of this is up to you...) and everyone else is just filler so that these above average players can "harvest" them. Just like Bodybuilding. You have the top notch competitors who everyone tries to imitate. And that is what sells the supplements, while all they buy is an illusion that one day they can achieve the same physique.
So let's say you have Apex Legends where well known players show how they literally obliterate everyone else. So the matchmaking (which is deliberately shit) sends these "predators" to hunt the prey, who are essentially sheeps.
People watch these streamers and try to imitate or get to know how to be at the skill level they have (which is near impossible for several reasons, I'd rather not explain). So the whole business centers around these outstanding persons, and the sheep buy the shiny digital bullshit, thinking that might elevate them to the "bigname" monkey's level.
Nobody on your own team is really gonna notice if you’re cheating unless it’s speed hacks or something. So your own team is hyping you up for being a god, and it feels good.
Plus a lot of people like you - trying it out for the novelty. Most people aren’t doing it, but seeing it once ever 20 games would probably be enough to drive you insane.
It feels good when you win! If you cheat, that just means you're smarter than the other player.
Dead Comment
Dead Comment
Deleted Comment
I ran a botting SaaS for Aion years ago, and the constant cat and mouse was what kept me going at it.
I used it to completely automate a grindy task on a server complete with chat hooks, and automatic teleportation to sell the items and back. And also implemented a trainer of sorts with all sorts of functions. The networking didn't appear to handle the teleportation well, and to anyone else my character never moved.
I ultimately didn't use it as an advantage in any meaningful way, I only played to see how far I could mod it and stopped, but never used it against anyone, and stopped playing once I was satisfied with my ill-gotten gains rotting on my account.
Reported it to the devs afterwards, who seemed disinterested but did at least obfuscate the binary, but neglected to do the same to the client JS API loader, so I used that to inject custom client scripts and override server supplied client code.
I'm sure people could do more interesting stuff with BepinEx/Harmony these days, but I never had enough inclination in .NET to learn to implement those. But it was still really fun to twist the game around like that.
*Uninterested or just you lost interest. Disinterested means "not influenced by considerations of personal advantage."
I've lost a few steam accounts to accurate but unintended (i.e., not actually cheating) detection of debugging tools attached to totally unrelated processes on the same machine. Having anything open like cheat engine or Tsearch while you join a lobby is a guaranteed ban no matter what. Ethical hacking and malicious hacking are indistinguishable from the perspective of this kind of machine-wide blind signature detection.
Statistical techniques can dramatically reduce false positives in cases like this. If someone at Valve had taken 10 seconds to review my stats during the detected interval, they should have been able to conclude I was not a threat to fair play.
I think a no-brainer solution here, which I am surprised isn't used, is to just immediately kick the account when a well-known signature, such as CheatEngine, is detected. If the program isn't even attempting to get around VAC, there is no point in doing the whole "delayed ban" thing.
That said, my snarky response is "I hope you learned your lesson about the need to restrict proprietary software to a container at all times".
It seems super reasonable when it's a one-off thing for your own account. When you think about making it into policy and scaling it up to 1000s of interactions, it quickly becomes unreasonable.
>Statistical techniques can dramatically reduce false positives
For a period of time, anyways. Until the statistics get gamed by the cheaters (e.g. adjust accuracy of your auto-shoot from 100% to 85% or whatever).
The real issue is the cost of false positive detection of cheating is negligible since the vast majority of positives are probably true positives—it’s the cost of doing anti-cheat business (minimal)
But yes cheats would be modified to just below thresholds of detection
Sure - looking at K/D, accuracy, etc., is an important factor in a statistical model.
Statistics can also include: Map name, player transform on the map, keyboard and mouse events, GPU utilization, audio playback events, etc. These are all very high information time domain signals that can be correlated with the same from any other player.
After a certain point, I don't think it matters if it is publicly known what your signals are. The amount of information becomes overwhelming in aggregate. You can impose the curse of dimensionality on the cheater.
Valve can ban you for any or no reason with no means of recourse or refund.
Totally the same thing, yeah.
Never used it on Multiplayer games though.
Looking up some quick stats, Steam has 132 million monthly active users and 69 million people use Steam on a daily basis. Not all those games are using VAC, but just looking at CS2, it routinely has over a million players playing it.
Nobody is going to “take 10 second to review” anything with those numbers.
There was a period of time lasting about a month or two where a player with a name like BELT SANDER or ANGLE GRINDER or TABLE SAW hung around. They were pleasant and unremarkable, but they frequently used new Steam accounts and switched IPs.
This person definitely wasn’t supposed to be an admin, but if they were around when someone was cheating and no actual admins were there, they’d somehow elevate their own permissions and ban the offending player. We tried to figure out what was happening and to see if we could somehow stop them, but we never did manage it. They were somehow gaining rcon access to the host server. After a while we just shrugged our shoulders. They didn’t seem to be harming anything, other than our peace of mind about our security. Overall they were actually really helpful for stopping late night/early morning disruptions.
I knew one person who made a wormable payload for a game I won’t disclose which used that method. The methods are in engine.dll so it’s symmetric, clients would infect servers, which in turn infects more clients, etc. Around then was when I decided to start gaming from a VM lol.
How?
Maybe I’m getting my dates mixed up but CS was released in the late 90 / early 90s and consumer virtualisation wasn’t nearly good enough to game in for another 10 years.
Consumer CPUs didn’t have virtualisation extensions and GPU paravirtualisation wasn’t available either in the early 2000s.
VMWare wasn’t even any good for just running Windows 2000 (I mean, it was seriously impressive tech for its time, but it was dog slow even for just basic basic things). So you’d be stuck with Xen for anything serious. And that wasn’t trivial to get set up back then.
Plus given the lack of drivers for virtualised hardware like soundcards and network interfaces, you’d likely be stuck with full fat emulation for those devices.
I guess it's the combination of a frustration of losing matches and the constant suspicion. I was constantly trying to probe things and watching replays, it ruined the game because I was always focusing on cheating.
Ultimately, I think most CS players don't really care about subtle/closet cheaters, so as long as they don't feel it, it's fine, the game keeps its high player count, so it's a good facade and valve is happy with that.
CS is a game I can really enjoy, until I couldn't anymore.
Minecraft minigame servers were very competitive, and very shady, using every dark pay-to-win, gacha psychology trick in the book and even some new ones (in particular, pay-to-unban). They also had very public, competitive popularity rankings among themselves, which players actually used to pick a server.
So I'm pretty sure they also actually paid account stealers to go to competing servers and cheat. The account stealers didn't have any better ways to monetize their huge lists of stolen account credentials.
What makes me think this is the huge number of accounts who would cheat in obvious ways and immediately get banned for it. There didn't seem to be much effort to avoid bans, but when you can join minigame after minigame, and all of them have one guy who ruins it by cheating and immediately gets banned, I think that's economics at play, not just psychology.
It's been quite a while since I've seen anyone spinbotting though.
There is no way to guarantee all participants are legitimate so I am not interested. It feels like a complete waste of time putting in the effort.
This isn't true, or at least it wasn't back in the day. The logic Valve seemed to follow was that VAC was "engine" bans. If you got banned in a GoldSrc game, you'd be banned in all games using that engine, but you'd be allowed to continue playing source games. The same was also true in the opposite case.
More importantly, this meant that getting banned in Modern Warfare 2, wouldn't get you banned in any other game, since no other games were released on that engine.
So while engine specific, people still judged you, especially in pubs (public servers)
Been a _long_ time since I've played. Fucking cheaters.
It's one entry-point among others for RCE. If tomorrow NSA wants to gather any files on your computer, all they need to do is to ask Google to push an update for you through Google Omaha.
https://epic.org/wp-content/uploads/privacy/nsa/foia/NSA-Goo...
Google and NSA have a "partnership".
Valve could also have such partnership in theory, through VAC, though unlikely in practice.
They could in theory, but has this actually happened in practice? Pushing a rogue update isn't exactly a novel idea, but despite decades of government document leaks and APTs being analyzed, there's scant evidence that any government pressured a company to push a rogue update. Same goes for other threat models like "government pressuring CAs into issuing a certificate".
Separately though, anti-cheat is another ball of wax entirely, and I have extremely mixed feelings in this field. Generally I favor "cheat detection should be serverside, don't trust the client" from a general security perspective, but... I can totally see a valid case in there, somewhere, for more rigorous clientside checks. Somewhere along that line though is rootkits and malware, and... well, no, please tell me up front that you loaded your game engine with these things so I can save my money and purchase something else, thanks.
[0] Using a custom mapper, which will help initially to discourage low-effort bootlegs at the very least. It's open source though, and will not be too difficult to add to emulators, at which point the dumped ROM should play fine on them.
In all seriousness, DRM/anti-cheats => rootkits/rats. Don't fall for it. Demand better.
It is no coincidence that America and Japan, the two countries with the most draconian copyright protections, continue to be the dominant player in the game industry.
Profit motive and the ability to reinvest previous profits into future products is the greatest force multiplier in our planet’s history bar none. You can either suck it up like China did in the 90s and convert to a capitalist economy, or stay in the breadline forever. Oh, in this case, I mean play tux racer forever :P