[MUD-Dev] DGN/TECH: exploiting/hacking in MMOGs - sources of info?
Per Vognsen
per.vognsen at gmail.com
Thu Sep 30 05:01:14 CEST 2004
On Tue, 28 Sep 2004 16:28:34 +0100,
daniel.harman at barclayscapital.com <daniel.harman at barclayscapital.com> wrote:
> Dunno if this is too techy for this forum, but does anyone know
> how speedhacks are implemented? Is it just a case of hooking
> GetTickCount() and/or QueryPerformanceCounter() and advancing them
> artificially or is there more to it than this?
Some speed-hacks work this way, yes. There are freely available
libraries that make this kind of DLL spoofing almost trivial to a
competent programmer. An example is the Detours library developed by
Microsoft Research:
http://research.microsoft.com/sn/detours/
Many games also use the RDTSC (ReaD Time-Stamp Counter) instruction
to count the number of cycles between frames and then divide by the
average number of cycles per second to get a very good approximation
of the time between a given pair of consecutive frames. These games
are also easy to hack. Pick up a copy of W32Dasm, disassemble the
game binaries and do a search for RDTSC. You then insert some
instructions that modify the cycle count before it is passed on to
other code. Now simply reassemble the code and use a patch utility
to build a patch based on the binary differences between the old and
modified binaries. Voila, instant speed-hack. Any programmer with
passing familiarity with x86 assembly language is capable of doing
this.
The real solution to all this is to try to enforce consistency on
the server-side. You know, never trust the client and all that jazz.
Per Vognsen Engine programmer, Epic Games
[1] However, the RDTSC method is not really considered a viable
solution anymore because of load-dependent clock rates. This used
to be the case exclusively for laptops (SpeedStep technology) but
recent desktop processors by AMD have incorporated Cool'n'Quiet
technology, which is the same kind of thing. It seems likely Intel
will do something similar for their future desktop processors as
well.
_______________________________________________
MUD-Dev mailing list
MUD-Dev at kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev
More information about the mud-dev-archive
mailing list