[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