Willkommen liebe Corler zu meinem mehrteiligen Tutorial zum Thema "How to Hack Online Games".
Diese Version meines mehrteiligen Programmes bezieht sich auf die Hintergründe des Gamehackings, die bereits vorhandenen Hacks und deren Probleme/Lösungen.
Wer also eigene Hacks machen möchte muss auf den nächsten Teil warten.
Es wird aber geraten diesen Band durchzulesen um Hintergrundinformationen zu Onlinegames und dem Gamehacking zu erhalten.
Funktionsweise eines Onlinespiels:
Bevor man Onlinespiele hackt sollte man wissen wie diese funktionieren.
Es ist eigentlich ganz simpel.
Jedes Onlinespielen besteht aus 3 Komponenten.
Der Server, der Client und die Datenbank.
Die Datenbank
Die Datenbank speichert alle Informationen die ein Spiel brauch.
Accounts, Charaktere, Hp, Fp, Level, Items...
Dies alles wird in der Datenbank gesichert und kann vom Server verwaltet werden.
Der Server
Der Server besteht meistens aus mehreren .exe Datein welche für ein bestimmtes Gebiet geschrieben wurden.
Mal angenommen unser Spiel hat 3 Server, Login, Charackter und World.
Im Login Server wird das einloggen der User verwaltet.
Der Charakter Server verwaltet die Charaktere des eingeloggten Accounts.
Jetzt dürft ihr raten was der World Server macht.
Der Client
Der Client ist das, was ihr euch downloaded.
Wenn ihr etwas macht dann erzählt der Server Client dem Server dass er was gemacht hat und wartet auf eine Antwort.
Wenn ihr ein Monster angreift sagt der Client dem Server dass ihr es angegriffen habt und dass das Monster so und so viel HP verloren hat.
Daraufhin wird dem Monster in der Datenbank HP abgezogen und der Server antwortet dass er die HP erfolgreich abgezogen hat und wie viel HP noch übrig sind.
Diese werden dann wieder im Clienten angezeigt.
Funtionsweise
Jetzt gehen wir näher auf die Funktionsweise dieser 3 Komponenten ein.
Wir nehmen wieder das Beispiel mit dem attackierten Monster.
Wenn ihr ein Monster angreift und es HP verliert, schickt der Client ein sogenantes "Packet" zum Server.
Das Packet beinhaltet verschiedene Daten und hat eine bestimmte Struktur, doch dazu kommen wir in einem anderen Teil.
Der Server wertet nun das angekommene Paket aus und schließt daraus, dass das Monster x Hp verloren hat.
Als nächstes zieht er dem Monster, das ebenfalls in der Datenbank eingetragen, ist die Hp ab und schickt wieder ein Packet zum Clienten und teilt diesem mit wie viel noch übrig sind.
Dies wird dann im Clienten angezeigt.
Faustregel:
Der Client ist für das Visuelle und der Server für das Funktionelle verantwortlich.
Wenn ihr das alles verstanden habt dann seid ihr bis jetzt gut bedient. ;)
Arten des Hackens:
Wie die meisten von euch wissen gibt es verschiedene Möglichkeiten um (Online)Spiele zu hacken.
Hier eine kleine Zusammenfassungen von den Wichtigsten.
Memory Hacking
Die einfachste Methode ein Spiel zu hacken ist Memory Editing.
Jedes Programm speichert seine Daten in der Memory.
Programme wie Cheat Engine oder TSearch können auf diese zugreifen und sie bearbeiten.
Man sucht nach dem gewünschten Wert und filtert solange bis nurnoch der gewünschte übrig ist.
Normalerweise funktioniert dies nur bei Offlinespielen, da wir nur unseren Client bearbeiten.
Wie ihr wisst werden bei Onlinespielen die Daten in der Datenbank gespeichert... normalerweise.
Manche Spiele speichern diese Daten leichtsinnig im Client.
Durch Bugs kann der Client geteucht werden und schickt falsche Packete zum Server.
Um nicht jedes mal die Werte neu zu suchen kann man sich ein Programm (Trainer) schreiben, der diese Werte bearbeitet.
Ein ausführliches Tutorial folgt in einem der folgenden Teile.
Packet Editing
Wie wir bereits wissen tauschen Server und Client Informationen über Packete aus.
Programme wie WPE können diese abfangen und bearbeiten.
Man startet das Programm und wählt den gewünschten Prozess aus.
Dann vollbringt man eine Tat um ein gewünschtes Packet zu erhalten.
Mit ein bisschen Ahnung kann man die Werte filtern.
Jedoch muss man stark aufpassen, Packet Editing kann den Server beschädigen, da kommt ihr, je nach Schaden, mit einer Geldstrafe leicht davon.
Ein ausführliches Tutorial folgt in einem der folgenden Teile.
Detours Hacking
Ein Programm besteht aus Variablen, Funktionen und und und...
Ein Funktion ist, wie der Name schon sagt, ist eine Aufgabe die ein Programm zu vollbringen hat. (mir fällt keine bessere Definition ein)
Mit einen Disassambler kann man diese herrausfinden.
Wenn man alle nötigen Parameter (Argumente) hat kann man diese Funktion beliebig manipulieren indem man sie bearbeitet und als DLL compiliert.
Anschließen wird sie in den Prozess injected und manipuliert die originale Funktion.
Ein ausführliches Tutorial folgt in einem der folgenden Teile.
Ressource Hacking
Als Ressourcehacking bezeichnet man die Vorgehensweise, die Ressourcen (Datein) des Spiels zu bearbeiten.
Es können Modelle, Scripte, Texturen usw bearbeitet werden.
Eine häufig genutzt Scriptsprache ist Lua.
Meist sind diese verschlüsselt und müssen decryptet werden.
Dazu sucht man sich einen converter oder schreibt einen.
Ein ausführliches Tutorial folgt in einem der folgenden Teile.
Reverse Engineering
Im Reverse Engineering schaut man sich mit einem Debugger den Assembly Code des Programmes an und kann diese bearbeiten.
Man kann diese Methode benutzen um Bots, Trainer, Injetions, Bypässe etc zu schreiben.
Ein ausführliches Tutorial folgt in einem der folgenden Teile.
Bypass
Jedes gute Spiel hat einen einigermaßen guten Antihack.
Dieser wertet je nach Antihack die Zugriffe auf das Spiel aus und blockt diese.
Man kann diese Funktionen des Antihacks umgehen (bypassen) und somit wird kein Hack erkannt (siehe Reverse Engineering).
Ein ausführliches Tutorial folgt in einem der folgenden Teile.
Grenzen des Gamehacking
Kurzum gesagt, alles ist möglich !
Ihr könntet mit Panzern in einem Spiel nieder schießen.
Ihr könnt aus dem Spiel ein ein anderes Spiel machen.
Das alles geht.
Jedoch ist es nur theoretisch und unwahrscheinlich.
Es ist theoretisch möglich dass ihr euch Zugang zum Source Code von dem Spiel verschafft, dort Panzer einbaut und die kompillierten Files auf den (Root)Server von des Hosters laded und startet.
Es ist aber unwahrscheinlich.. sogar sehr.
Also könnt ihr euch sowas aus dem Kopf hauen.
Sachen wir HP/SP Hack etc gehen immer und sind keine schwere arbeit.
Jedoch brauch man auch hier Gedult und die nötigen Kenntnisse.
Bei Level wird es schon kritischer.
Ihr könntet ein Packet zum Server senden dass euch Level Ups gibt, ihr könntet aber auch den (Root)Server hacken und in der Datenbank euer Level bearbeiten.
Es ist möglich, und auch wahrscheinlich.. aber sehr schwer.
Sowas brauch sehr viel Gedult und sehr sehr viel Wissen.
Deswegen wird sowas auch nie Public kommen.
Wenn ihr bis hier hin gekommen seid und alles verstanden habt, habt ihr schonmal eine Menge gelernt !
Die Theorie habt ihr schonmal drauf, die Praxis wird in einem anderen Teil folgen.
So, das wars so weit mit dem ersten Teil, werde ihn später nochmal ausbauen, hab aber grad so viel geschrieben, da ist mir die Lust vergangen. ^^
Ich hoffe ihr hattet Spaß und habt was neues gelernt.
Diese Version meines mehrteiligen Programmes bezieht sich auf die Hintergründe des Gamehackings, die bereits vorhandenen Hacks und deren Probleme/Lösungen.
Wer also eigene Hacks machen möchte muss auf den nächsten Teil warten.
Es wird aber geraten diesen Band durchzulesen um Hintergrundinformationen zu Onlinegames und dem Gamehacking zu erhalten.
Funktionsweise eines Onlinespiels:
Bevor man Onlinespiele hackt sollte man wissen wie diese funktionieren.
Es ist eigentlich ganz simpel.
Jedes Onlinespielen besteht aus 3 Komponenten.
Der Server, der Client und die Datenbank.
Die Datenbank
Die Datenbank speichert alle Informationen die ein Spiel brauch.
Accounts, Charaktere, Hp, Fp, Level, Items...
Dies alles wird in der Datenbank gesichert und kann vom Server verwaltet werden.
Der Server
Der Server besteht meistens aus mehreren .exe Datein welche für ein bestimmtes Gebiet geschrieben wurden.
Mal angenommen unser Spiel hat 3 Server, Login, Charackter und World.
Im Login Server wird das einloggen der User verwaltet.
Der Charakter Server verwaltet die Charaktere des eingeloggten Accounts.
Jetzt dürft ihr raten was der World Server macht.
Der Client
Der Client ist das, was ihr euch downloaded.
Wenn ihr etwas macht dann erzählt der Server Client dem Server dass er was gemacht hat und wartet auf eine Antwort.
Wenn ihr ein Monster angreift sagt der Client dem Server dass ihr es angegriffen habt und dass das Monster so und so viel HP verloren hat.
Daraufhin wird dem Monster in der Datenbank HP abgezogen und der Server antwortet dass er die HP erfolgreich abgezogen hat und wie viel HP noch übrig sind.
Diese werden dann wieder im Clienten angezeigt.
Funtionsweise
Jetzt gehen wir näher auf die Funktionsweise dieser 3 Komponenten ein.
Wir nehmen wieder das Beispiel mit dem attackierten Monster.
Wenn ihr ein Monster angreift und es HP verliert, schickt der Client ein sogenantes "Packet" zum Server.
Das Packet beinhaltet verschiedene Daten und hat eine bestimmte Struktur, doch dazu kommen wir in einem anderen Teil.
Der Server wertet nun das angekommene Paket aus und schließt daraus, dass das Monster x Hp verloren hat.
Als nächstes zieht er dem Monster, das ebenfalls in der Datenbank eingetragen, ist die Hp ab und schickt wieder ein Packet zum Clienten und teilt diesem mit wie viel noch übrig sind.
Dies wird dann im Clienten angezeigt.
Faustregel:
Der Client ist für das Visuelle und der Server für das Funktionelle verantwortlich.
Wenn ihr das alles verstanden habt dann seid ihr bis jetzt gut bedient. ;)
Arten des Hackens:
Wie die meisten von euch wissen gibt es verschiedene Möglichkeiten um (Online)Spiele zu hacken.
Hier eine kleine Zusammenfassungen von den Wichtigsten.
Memory Hacking
Die einfachste Methode ein Spiel zu hacken ist Memory Editing.
Jedes Programm speichert seine Daten in der Memory.
Programme wie Cheat Engine oder TSearch können auf diese zugreifen und sie bearbeiten.
Man sucht nach dem gewünschten Wert und filtert solange bis nurnoch der gewünschte übrig ist.
Normalerweise funktioniert dies nur bei Offlinespielen, da wir nur unseren Client bearbeiten.
Wie ihr wisst werden bei Onlinespielen die Daten in der Datenbank gespeichert... normalerweise.
Manche Spiele speichern diese Daten leichtsinnig im Client.
Durch Bugs kann der Client geteucht werden und schickt falsche Packete zum Server.
Um nicht jedes mal die Werte neu zu suchen kann man sich ein Programm (Trainer) schreiben, der diese Werte bearbeitet.
Ein ausführliches Tutorial folgt in einem der folgenden Teile.
Packet Editing
Wie wir bereits wissen tauschen Server und Client Informationen über Packete aus.
Programme wie WPE können diese abfangen und bearbeiten.
Man startet das Programm und wählt den gewünschten Prozess aus.
Dann vollbringt man eine Tat um ein gewünschtes Packet zu erhalten.
Mit ein bisschen Ahnung kann man die Werte filtern.
Jedoch muss man stark aufpassen, Packet Editing kann den Server beschädigen, da kommt ihr, je nach Schaden, mit einer Geldstrafe leicht davon.
Ein ausführliches Tutorial folgt in einem der folgenden Teile.
Detours Hacking
Ein Programm besteht aus Variablen, Funktionen und und und...
Ein Funktion ist, wie der Name schon sagt, ist eine Aufgabe die ein Programm zu vollbringen hat. (mir fällt keine bessere Definition ein)
Mit einen Disassambler kann man diese herrausfinden.
Wenn man alle nötigen Parameter (Argumente) hat kann man diese Funktion beliebig manipulieren indem man sie bearbeitet und als DLL compiliert.
Anschließen wird sie in den Prozess injected und manipuliert die originale Funktion.
Ein ausführliches Tutorial folgt in einem der folgenden Teile.
Ressource Hacking
Als Ressourcehacking bezeichnet man die Vorgehensweise, die Ressourcen (Datein) des Spiels zu bearbeiten.
Es können Modelle, Scripte, Texturen usw bearbeitet werden.
Eine häufig genutzt Scriptsprache ist Lua.
Meist sind diese verschlüsselt und müssen decryptet werden.
Dazu sucht man sich einen converter oder schreibt einen.
Ein ausführliches Tutorial folgt in einem der folgenden Teile.
Reverse Engineering
Im Reverse Engineering schaut man sich mit einem Debugger den Assembly Code des Programmes an und kann diese bearbeiten.
Man kann diese Methode benutzen um Bots, Trainer, Injetions, Bypässe etc zu schreiben.
Ein ausführliches Tutorial folgt in einem der folgenden Teile.
Bypass
Jedes gute Spiel hat einen einigermaßen guten Antihack.
Dieser wertet je nach Antihack die Zugriffe auf das Spiel aus und blockt diese.
Man kann diese Funktionen des Antihacks umgehen (bypassen) und somit wird kein Hack erkannt (siehe Reverse Engineering).
Ein ausführliches Tutorial folgt in einem der folgenden Teile.
Grenzen des Gamehacking
Kurzum gesagt, alles ist möglich !
Ihr könntet mit Panzern in einem Spiel nieder schießen.
Ihr könnt aus dem Spiel ein ein anderes Spiel machen.
Das alles geht.
Jedoch ist es nur theoretisch und unwahrscheinlich.
Es ist theoretisch möglich dass ihr euch Zugang zum Source Code von dem Spiel verschafft, dort Panzer einbaut und die kompillierten Files auf den (Root)Server von des Hosters laded und startet.
Es ist aber unwahrscheinlich.. sogar sehr.
Also könnt ihr euch sowas aus dem Kopf hauen.
Sachen wir HP/SP Hack etc gehen immer und sind keine schwere arbeit.
Jedoch brauch man auch hier Gedult und die nötigen Kenntnisse.
Bei Level wird es schon kritischer.
Ihr könntet ein Packet zum Server senden dass euch Level Ups gibt, ihr könntet aber auch den (Root)Server hacken und in der Datenbank euer Level bearbeiten.
Es ist möglich, und auch wahrscheinlich.. aber sehr schwer.
Sowas brauch sehr viel Gedult und sehr sehr viel Wissen.
Deswegen wird sowas auch nie Public kommen.
Wenn ihr bis hier hin gekommen seid und alles verstanden habt, habt ihr schonmal eine Menge gelernt !
Die Theorie habt ihr schonmal drauf, die Praxis wird in einem anderen Teil folgen.
So, das wars so weit mit dem ersten Teil, werde ihn später nochmal ausbauen, hab aber grad so viel geschrieben, da ist mir die Lust vergangen. ^^
Ich hoffe ihr hattet Spaß und habt was neues gelernt.