EAC from a software developers perspective

I have recently took a closer look at EAC to see how it works and what it actually does.

I would like to apologize for any typos or fail English. English is not my native language.

Behavior:

Whenever you start PTS, EasyAntiCheat.exe is run. And when EasyAntiCheat.exe is run it will inject a .dll file (code) into one of your system processes. The process remains until you exit the game. When you exit the game, EasyAntiCheat will undo the injection of the .dll file (code). So it does NOT run in the background when the game is not open. Unless you close EasyAntiCheat.exe manually, in that case the code will remain in the system process until you restart your system.

While it is running, according to their site it will only scan memory that is related to the games memory. However this is not true. It will instead scan the ENTIRE memory for suspicious actions like manipulating the games memory. (Just like VAC does). You could say its kinda like an antivirus. An antivirus scans your entire system memory for suspicious actions using their virus definitions as a base.

So what does it do while its scanning for suspicious actions? Pretty much what you expect. If there is anything suspicious, said information will get sent to them and will be processed later (apparently by a human). This includes: Your entire system information (Operating system, CPU information and so on). All programs that are installed on the system. All programs that run while it detected something. All drivers that are installed. All drivers that are run while it detected something. Time and Date.

People on this subreddit were complaining that unsigned drivers are not allowed. So why are unsigned drivers not allowed? Anticheats only have limited access to drivers as all drivers are run as "system" and anticheats only have "user" permissions. An Anticheat cannot read/scan whatever a driver is doing. An unsigned driver could be a hacking tool created by a hacker to bypass the anticheat. Hackers cannot sign a driver themselves.


Conclusion

Manipulating the games memory serves no real purpose/advantage as the most important numbers like Health/Mana are handled serverside. Any information handled serverside cannot be edited by a client unless they hack the server. Which is not just illegal but also really hard. Its simply not worth it. So a hacker cannot have infinite hp/mana/power and so on.

The only type of hack i have seen people talk about is Speedhacking. The only benefit speedhacking offers is teleporting once the server fails to handle the players position as the data that gets sent from the client to the server will corrupt sooner or later. It does not make cooldowns go down faster or increase your attack speed. Because like i said, these numbers are handled serverside.

NOW THE BIG THING HERE IS THAT: the speedhacking issue can be resolved by updating serverside code to not fail handling a players position by simply ignoring clientside information (This will cause unfluid movement though, the higher your ping the worse this gets.)

There is another option though. In case you didn't know ,all a speedhack does is manipulating the clock speed the game runs at. So all Hi-Rez has to do is force the client (your game) to run at a fixed clock speed. Boom! r.i.p. Speedhackers.

So in short. We do not need an anticheat.


I also wanted to mention that i played SMITE for 3 years now and i have not met a single hacker yet.

TL:DR EasyAntiCheat has its downsides. Its not as bad as people say it is, but its also not needed.

Have questions? feel free to ask them.

Leave a Reply

Your email address will not be published. Required fields are marked *