[Home] [Groups] - Message: [Prev in Group] [Next in Group]

nu.kanga.list.mud-dev

31008: Re: [MUD-Dev] DGN/TECH: exploiting/hacking in MMOGs - sources of info?

[Full Header] [Plain Text]
From: Per Vognsen <per.vognsen@gmail.com>
Newsgroups: nu.kanga.list.mud-dev
Date: Wed, 29 Sep 2004 23:01:14 -0400
References: [1]
Organization: Kanga.Nu
On Tue, 28 Sep 2004 16:28:34 +0100,
daniel.harman@barclayscapital.com <daniel.harman@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@kanga.nu
https://www.kanga.nu/lists/listinfo/mud-dev