August 27th, 2024

UltimateAntiCheat

UltimateAntiCheat is an educational anti-cheat system in C++ designed to detect game hacking techniques. It features a client-server design, various detection mechanisms, and encourages user contributions.

Read original articleLink Icon
UltimateAntiCheat

The GitHub repository UltimateAntiCheat is an educational anti-cheat system developed in C++ (x64) aimed at detecting and preventing common game hacking techniques such as memory editing and code injection. It is designed solely for educational purposes and not for commercial use. The system features a client-server design with a heartbeat mechanism that sends signals every 60 seconds to clients. Key detection mechanisms include the identification of open process handles, blocking of APC injection, and debugger detection across various modes. It also incorporates integrity checks on program memory, anti-tamper measures, and checks for blacklisted processes. Additional protections include spoofing process information, enforcing secure boot, and providing a data obfuscation class. Networking support is optional and can be configured in the code, with setup instructions available in the README.md file. The author encourages users to report issues and contribute suggestions for improvements. This project serves as a foundational example for developers interested in implementing anti-cheat measures in their games.

- UltimateAntiCheat is an educational tool for anti-cheat systems, not for commercial use.

- It includes various detection mechanisms to combat common cheating techniques.

- The system features a client-server design with a heartbeat mechanism.

- Additional protections include process information spoofing and secure boot enforcement.

- The author welcomes contributions and issue reporting from users.

Link Icon 9 comments
By @Cieric - 9 months
As someone who has been in the graphics card driver side of things for almost 3 years now, anti-cheat has been the bane of my existence. Some anti-cheat has been strong enough that is has actively stopped me from fixing games, doubly so when we can't get into contact with the game developers. I would not be surprised if in the future some games might just never run on one gpu due to a mix of anti-cheat, legal, and driver signing troubles.

While I have a massive disdain for anti-cheat enough that I've built hacks just so I can fix the games my employer pays me to fix, I'm not going to encourage developers to drop them if they truly think it's needed. But please, contact gpu manufactures and provide them the tools or builds needed to fix and debug your game.

By @fnfjfk - 9 months
Don’t really play multiplayer games anymore, but back when I did a lot there was a “vote kick”/“vote ban” feature that people used to get rid of the cheaters instantly sniping everyone from across the map, it wasn’t like they were very subtle.

Does that simpler social approach not work anymore?

By @nathas - 9 months
Question for people that build hacks: given how robust this open-source anti-cheat is, does building the cheat give more reward than playing the game? It seems like it would take a ton of hours to be effective..
By @dnos - 9 months
I wonder if a statistics-based cheating detection system could work in more of the esports style games? Chess.com seems to have a pretty good method to detect cheaters based on analysis of post-game data: https://www.chess.com/article/view/chess-com-fair-play-and-c...

Even in something like an FPS, if player movements or action patterns could be compared to normal patterns, it would be incredibly obvious who is cheating regardless of HOW the player managed to cheat.

Even something as elaborate as a full AI-powered robot that physically hit the keys could be detected when it made a move that was not within the patterns of human players.

Of course, the cat and mouse game then becomes more about the cheat algorithms learning to act more human to avoid detection, but they have a long way to go. Plus, each time they have to adjust and become more human, the less and less of an advantage the cheater has!

By @kstrauser - 9 months
Programmable keyboard macros for the win.

No, like, literally.

By @pstrateman - 9 months
This is still playing defense.

Anti-cheat needs to be more or less a kernel level remote code executor.

By @beeboobaa3 - 9 months
games are requiring secure boot now? No thanks.
By @josephcsible - 9 months
This is fundamentally the wrong way to do anti-cheat. Anything you do on the client will fundamentally always be bypassable, and it tends to always have at least some negative side effects. Proper anti-cheat needs to happen on the server.