Live data from Hacker News

Reverse engineering Call of Duty anti-cheat

ssno.cc

131–140 of 223 posts

Re: Reverse engineering Call of Duty anti-cheat

#131
post #109

Wouldn't it be possible or relevant to periodically, electronically sign the game state, to prevent cheating? Or with some proof of work? I am starting to think that cheat are just too hard to fight against, I am making a small, cheap online FPS, and I would let users trust each other instead, and hunt cheaters themselves, or maybe use AI like valve is doing. I would not bother have a anti cheat software. Also player…

> and I would let users trust each other instead, and hunt cheaters themselves

If you've ever played a decent amount of basically any online game you'd know that players make cheating accusations CONSTANTLY based on very little evidence. And then there's also the social aspect of just reporting players you don't like to get them banned

In such a system you'd get way more false positives than any kind of anti-cheat

Re: Reverse engineering Call of Duty anti-cheat

#132
post #54

Earlier quoted context omitted.

In addition to what others said, I'd simply point out that all 'ret' does on x86 is pop an address off the top of the stack and jump to it. It's more of a "helper" than a special instruction and it's use is never required as long as you ensure the stack will be kept correct (such as with a tail-call situation).

`ret` also updates the branch predictor’s shadow stack. Failing to balance `call` and `ret` can seriously impact performance.

Right, I didn't want to get into it but definitely using 'ret' "properly" has big performance benefits. My point was just that it won't prevent your code from running, it's not like x86 will trigger an exception if they don't match up.

Re: Reverse engineering Call of Duty anti-cheat

#133

Needs to be a law against the taking away of product functionality after the sale, even if it's contractual/EULA. A ban should never take the game away from the owner, and in cases where it does then they need to be refunded (treble damages on top of license, lawyer, and court fees if it takes a judgment to induce the refund). Getting banned on Steam, say, in the sense that all of one's purchases are invalidated shou…

It's a video game, it's really not that big of a deal.

Re: Reverse engineering Call of Duty anti-cheat

#134

Cheating is ultimately a human problem. You can have some safeguards and heuristics like the ones the article describe, to weed out 90% the most blatant cheaters, so I think anticheats like these are fundamentally a good thing. But the anti-cheat can and should err on the safe side because ultimately it should be the players and admins themselves that sort this out. Online multiplayer games must (yes must ) take plac…

Why do you think human admins are the only viable solution? Plenty of games thrive without them—e.g., Apex Legends uses robust reporting and anti-cheat systems, and Rocket League's moderation is largely automated yet effective.

Re: Reverse engineering Call of Duty anti-cheat

#135
post #121
post #116

I experienced the trust factor (banning, w/o banning officially) issues on my Linux CS:GO account in 2021, dropping to yellow and then red. This made it difficult to find teammates, as I was constantly matched with cheaters. I discovered I wasn't alone, as many other Linux users with Radeon GPUs and 16GB+ VRAM were experiencing similar problems. We created a GitHub issue to track the problem and try to find a solutio…

Could it be that Gabe Newell is a nice guy?

That email address goes to a team of people, but if you send something substantial and well-meaning, they'll look into it.

Re: Reverse engineering Call of Duty anti-cheat

#136

Earlier quoted context omitted.

the call is still in tail position whether or not it reuses the stack frame. there are also more involved ways to do tail call optimization than a direct single-jump compilation when you leave ret behind entirely, such as in forth-style threaded interpreters

I guess were talking about optimising tail recursion. Would there be any reason to refer to a tail call other than that optimisation? I’ll do some reading on the latter part of your post, thank you!

You don’t need recursion to make use of tail call elimination. In Scheme and SML all tail calls are eliminated. GCC also does it, but less often. Still, it’s not recursion that triggers it.

Re: Reverse engineering Call of Duty anti-cheat

#137

Needs to be a law against the taking away of product functionality after the sale, even if it's contractual/EULA. A ban should never take the game away from the owner, and in cases where it does then they need to be refunded (treble damages on top of license, lawyer, and court fees if it takes a judgment to induce the refund). Getting banned on Steam, say, in the sense that all of one's purchases are invalidated shou…

Even banks in the real world don't have that level of customer protection.

Re: Reverse engineering Call of Duty anti-cheat

#139

Earlier quoted context omitted.

> That's the gold standard in the industry though, you don't warn(suspected) cheaters to not give them opportunity to adjust their tactics. Is this supposed to do any good? The actual cheater is still getting a signal that they've been detected, because they get banned. Then they figure out how, make a new account and go back to cheating. Meanwhile the normal user is both confused and significantly more inconvenience…

>>The actual cheater is still getting a signal that they've been detected, because they get banned. So....yes. But there are mitigating tactics around this, I really recommend looking into it because it's a fascinating topic. As the simplest thing - you don't ban cheaters the moment they are detected to not give off how you detected them. That's why Activision bans people in waves and all at once, even though they kn…

I would not be surprised to learn some gaming company is selling cheats for their own games.

Re: Reverse engineering Call of Duty anti-cheat

#140

Needs to be a law against the taking away of product functionality after the sale, even if it's contractual/EULA. A ban should never take the game away from the owner, and in cases where it does then they need to be refunded (treble damages on top of license, lawyer, and court fees if it takes a judgment to induce the refund). Getting banned on Steam, say, in the sense that all of one's purchases are invalidated shou…

Why is that different from speeding while driving ? Be a nuisance to society -> get fucked. That's a pretty universal principle

While I get where you're coming from, that's a really bad comparison to make. Speeding while driving can and will kill people.
Post reply on HN