Wie funktionieren Game-Hacks und co. in Multiplayer-Spielen ?
November 30th, 2009 von
Manu
Jeder von euch hatte bestimmt schon einmal eine oder mehrere Begegnung(en) mit Hackern die sich in irgendwelchen 3D Server-Client-Spielen irgendwelche Vorteile verschafft haben. Da gibt es viele Möglichkeiten – Einige sind Auffällig und führen evtl. zum Ban erkannt durch Admins – andere sind eher Unauffällig (z.b. Wallhacks)
Hier mal ein paar, die mir gerade spontan eingefallen sind:
Wallhacks: Durch Wände schauen, und Umrisse anderer Mitspieler sehen.
Speedhacks: Schneller laufen (Beliebt in Counter-Strike, bspw. am Anfang alle Messern…)
Aimbots: Der Benutzer muss bloß noch feuern, das Zielen nimmt der sogenannte BOT der im Hintergrund läuft in die Hand und zwar direkt auf den Kopf alle in der Nähe sich befindenen Gegener.
Spinhacks: Man dreht sich schnell im Kreis und immer wenn einer kommt gibts gezielte Schüsse in den Kopf – Unschlagbar!
Jetzt fragen sich wohl viele, wie funktioniert denn so etwas ?
Wie kann man ein Spiel dazu bringen, so etwas zu tun ?
Naja eigentlich tut das Spiel da gar nichts.
Es merkt teilweise nochnichtmal, dass da was passiert.
Im allgemeinen muss man zu aller erst wissen, wie Spiele arbeiten.
Die Spiel-Executable, die ausgeführt wird, wenn man beispielsweise einen Doppelklick auf ein Icon auf dem Desktop tätigt, arbeitet mit vielen “Bibliotheken” zusammen, die u.a. aus Funktionen und/oder Ressourcen, wie z.b. Sounds etc. bestehen.
Die Executable kommuniziert mit den Bibliotheken, die am Start alle geladen werden, und ruft Funktionen ab, wie zum Beispiel: “Wo befindet sich Spieler 1?”.
Ein Cheat oder Hack “hooked” eine extra für den Zweck entwickelte Bibliothek (auch DLL genannt), die sich vom Prinzip her den anderen ähnelt, jedoch andere Funktionen beinhaltet, so ein, dass sie in der Lage ist, Funktionsabrufe der Executablen abzufangen und im Normalfall so weiterzuleiten, dass die DLL, für die die Anfrage eigentlich gedacht war, diese so erhält, wie sie es im Idealfall von der Executablen erhalten hätte.
Manipulationen sind theoretisch möglich, jedoch dienen die meisten dieser Vorgänge lediglich das Erlangen von Informationen, die eigentlich dafür nicht übermittelt worden sind, um dem Benutzer des Cheats Vorteile zu verschaffen (Beispiel: Wallhack)
Da es sehr schwer für die Executable ist, diese Spionage zu merken, gibt es kaum Methoden die zu 100 % erkennen, ob es sich bei dem Hook um einen “feindlichen” handelt.
Zudem manche normale Bibliotheken von der Executable ebenfalls gehookt werden können.
Als Beispiel eines Cheatschutzes möchte ich den VAC von Steam an dieser Stelle erwähnen. Dieser ist zwar in der Lage einige Hacks – besonders ältere – zu erkennen, jedoch stößt er bei Neuentwicklungen und den immer besser werdenden Methoden in unendliche Galaxien vor. Eine Erkennung ist sogut wie unmöglich!
Fazit: Immer dem eigenen, menschlichen Cheatschutz vertrauen!
Wem fällt es nicht auf wenn einer 7 Headshots hintereinander, gleich nachdem er um die Ecke gekommen ist, verteilt, just mal eben beim Laufen.
Geschrieben in Computerwissen |
Keine Kommentare »