Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Effective Way to Detect Speed Hacks
#1
Originally posted by Verrigan

Difficulty Easy 1/5

Many of you are aware of applications out there that cause programs to speed up.. You will find that people using these programs will actually move faster in some online games. In most cases, this causes a server to 'cater' to the faster individuals because they are sending more frequent data, which will effectively lag other players.

I could go into why these types of programs have this kind of effect on application performance, but I would be speculating.. All I know is that when you call GetTickCount or QueryPerformanceCounter functions, they will give you a higher number than the actual value on the system.. So if you do:

Code:
If GetTickCount - BeginTick > 500

it could happen in 1/10 of a second instead of 1/2 of a second. (1000 ticks from GetTickCount = 1 Second)

Well.. I have some good news for you guys. Smile These applications do not have an effect on the VB Timer() function. Smile

What does this mean?

This means you can check for a speed hack application, and abort your client if the user is using one. Smile

How? Check your tickcounts against a timer.. First set a variable = to Timer. Then set a variable = to GetTickCount. Here is an example:

Code:
Public SpeedHackTestTimer As Long
Public SpeedHackTestTickCount As Long

Public Sub SetSpeedHackTestStart()
  SpeedHackTestTimer = Timer
  SpeedHackTestTickCount = GetTickCount
End Sub

Next, you will need a procedure to check the values against each other.. This isn't perfect, because we're comparing milliseconds against seconds, but it should be fairly close. Smile Here is an example:

Code:
Public Sub SpeedHackTest()
  Dim TimerDiff As Long
  Dim TickDiff As Double
  Dim TickAndTimerDiff As Double
  
  TimerDiff = Timer - SpeedHackTestTimer
  TickDiff = (GetTickCount - SpeedHackTestTickCount)  / 1000
  
  TickAndTimerDiff = TickDiff - TimerDiff
  If TickAndTimerDiff > 1 Or TickAndTimerDiff < -1 Then
    'System is running a speed hacking program.
    'We can notify the server, or simply end the application.
    'You would need to develop a packet to send to the server
    'if you wish to notify the server.. Then keep track of the number
    'of times a user uses speed hacking software, and ban if needed. :)
    GameDestroy
  End If
End Sub

Now, this is not fully conclusive.. If 'they' develop a way to modify the Timer function's return value, you will not be able to use this method to detect speed hacking software. Please feel free to post any bugs/questions/comments/suggestions. Smile
Reply
#2
oh Talking about hacks does memory editors works on this? or everything is server sided hard to hack because I wouldnt like to get ppl that cheats
Reply
#3
me an xtr tried cheat engine 5.2 on his and his char was walking extra fast Tongue
Reply
#4
Versions of CE before 5.0 will not work with this code added ;p
Reply
#5
Big Grin well thats somewhat good
Reply
#6
But noone uses
Reply
#7
.. exactly :p
Reply
#8
There is no way to stop programs such as Cheat Engine to hack your games. Unless you find a way to protect the computer memory from being hacked.
Reply
#9
ShadowMaster Wrote:There is no way to stop programs such as Cheat Engine to hack your games. Unless you find a way to protect the computer memory from being hacked.

Not only is this not related to Speedhacking, this thread is over a year old.

And for your information, if you're stupid enough to leave any important values 100% clientside then you deserve to have your client hacked.

I think anyone with common sense has all of the important data handling serverside and only has the clientside variables handle the graphical side, not the actual calculations.

If someone memory hacked it, then all it would do is make the game look like it's been hacked, but the serverside data wouldn't be touched, meaning nothing would happen.
Quote:Robin:
Why aren't maps and shit loaded up in a dynamic array?
Jacob:
the 4 people that know how are lazy
Robin:
Who are those 4 people?
Jacob:
um
you, me, and 2 others?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)