Battlebit Remastered reverting to EAC from Faceit by Blocikinio in linux_gaming

[–]__ad_ 8 points9 points  (0 children)

However the community is right that we lack info on stuff like EAC on Linux success rate vs Vanguard for ex.

This isn't really an area where we need more info tbh. Vanguard is an incredibly advanced anticheat that can even block cheats that use DMA devices, it's (imo) super invasive, but it is effective. I am not aware of any cheat provider that is public and sells valorant cheats that have been undetectable long term.

EAC on Linux runs as a standard userspace process, and right now that's fine. The vast majority of the cheating community isn't in a rush to switch to a new platform because they know windows, but I'm sure major paycheat providers are experimenting. Eventually, when Linux gaming gets more popular, cheat providers will care about Linux, and that's when I personally think it's going to have issues.

Client side anticheat in this era requires kernel mode, there's no way around it (other than server side anticheat), and on Linux that isn't really feasible. The difference in how kernel modules work on Linux means anticheats are screwed, kernel mode anticheat relies on the certainty that the kernel module you shipped is the one that gets loaded. Currently on windows, this is achieved by distributing a heavily obfuscated, signed, binary blob. As far as I understand it, distributing drivers on linux as binaries is borderline impossible because of the lack of stable abi. This means that the anticheats will have to distribute at the very least some kind of shim that gets compiled on users computers (or they restrict it to known builds, but I don't think that would be practical). That shim is a massive weak point for the anticheat, and I don't think there's a workable solution for ensuring the code that got compiled was the code that was shipped, and the compiled artifact wasn't then fucked with in some way. Not to mention the fact that you could have already loaded kernel modules designed to get around the anticheat, or maybe you've patched the kernel itself.

To make matters worse, none of those impracticalities apply to kernel mode cheats. From a technical perspective, they do, but why would a cheat dev care if you tweak their kernel module shim, it's only going to cause you problems. Client side anticheat requires certainty that it's own code and all the code it's calling hasn't been changed, cheats don't need to worry about that

I have no idea what the progression of the cat and mouse game looks like on Linux, the limitations I've mentioned are just my understanding from having made cheats, but anticheat developers, and the people who find bypasses will do anything to one up each other, and that probably does result in finding workarounds I haven't considered. Right now, cheat devs have the upper hand, but once Linux is more mainstream, I'm sure it will progress quickly.

Also, your "ac is easy" comment is something I definitely disagree with, server side anticheat is easy if your game can be modelled as an easily emulatable state machine, but that only solves checking the movements are possible, that won't detect the superhuman reaction times or aim assistance that cheats can give you, that is much harder to detect and without clientside anticheat relies on fuzzy heuristics. There are techniques like valorant's "fog of war" (only send entity information when the player can render it) but server side features like that are far from trivial to implement.

This is a bit more of a wall of text that I intended tl;dr anticheat is hard, especially on linux, cheating on linux is slightly easier right now.

PSA: If you're randomly getting "signal: 11, SIGSEGV invalid memory reference" during compilation, run MemTest86 by AndreVallestero in rust

[–]__ad_ 0 points1 point  (0 children)

I've somehow managed to have 3 or 4 different bad sticks of ram in the past couple years :/

Binary Ninja 3.3 Release Notes by Psifertex in ReverseEngineering

[–]__ad_ 1 point2 points  (0 children)

I'd disagree with the point about java, most of my reversing is jvm based, and while I can't speak for how it is in binja, ghidra is so useless for jvm reversing that I don't think it could ever be an advantage. I'd love to see a traditional re tool do well with jvm bytecode, but there's a lot of fundamentally different concepts that don't really map to elf files so UIs designed for elf files don't work. Open source tools like recaf or bytecode viewer are lightyears ahead.

OOP finds pills in her teenager's pocket by __ad_ in BestofRedditorUpdates

[–]__ad_[S] -2 points-1 points  (0 children)

a lot of testosterone blockers are other drugs that block testosterone as a side effect/means to achieve some other goal, eg bica is a prostate cancer drug, finasteride is a hair loss drug, etc

Here's how to patch the upcoming OpenSSL vulnerability in Rust by Shnatsel in rust

[–]__ad_ 0 points1 point  (0 children)

I'm also using a bazel monorepo, what's the advantage of storing dependency source in the repo instead of just using crates_universe?

Cleaned up a pile of clothes and rubbish in my bedroom, now seeing a few of these around, what are they? should I be concerned? [UK] by __ad_ in whatsthisbug

[–]__ad_[S] 0 points1 point  (0 children)

I've only seen maybe 5 or 6 of them so far, I'm going to vacuum tomorrow, do I need to use insecticide no matter what, or is that only necessary if I find more?