HackShield

Das wohl schlimmste was einem ehrlichem Hacker passieren kann ist der Einbau eines HackShield.
GF hat dies nun auch für Metin2 eingeführt, nachdem er schon nach dem Teleport Fix den Hackern eines ausgewischt hat.

Ersteller des HackShield ist AhnLab. AhnLab erstellt unter anderen auch den HackShield für 4Story und Cabal.

 

Zuerst eine kleine Liste von "Hacks":

 

Exploits / Bugs:

Das sind schwachstellen im Spiel oder mit dem Spiel zusammenhängenden Funktionen. Erklärung: Eine Website übernimmt Usereingaben ungefiltert daraus können SQL-Injections entstehen. Oder es ist ein Fehler in der Programmierung des Clienten/Server vorhanden und diese erlaubt dem User Sachen zu tun, die er eigentlich nicht dürfen sollte.

 

Client Modification / Client Editing:

Diese Methode dürften viele von euch bekannt sein. Seit die Verschlüsselung der Dateien geknackt wurde ist es möglich eigene Funktionen, Items, .... in der Client zu packen oder vorhandenen Code zu verändern / entfernen. Die Sprache des Clienten ist Python. Anwendungsbeispiele: Speedhack, Wallhack, verschiedene Bots, Änderungen der Anzeige, .... .

 

Bots & Macros:

Bots sind einfache Programme die Tastendrücke des Benutzers Simulieren und so dem Spiel eine echte Usereingabe vortäuschen.

 

Memory Patching:

Da das Spiel auf eurem Rechner läuft sind im Arbeitsspeicher Daten von der Spiel gespeichert. Auf diese kann relativ einfach zugegriffen werden und Werte ausgelesen / verändert werden. Beispiel: Angrifsgeschwindigkeit, Bewegungsgeschindigkeit, Position deines Spielers auf der Karte, ... .

 

Funktionsweise des HackShield:

hackshield_structure

 

  • Stufe 1 - Es wird geprüft ob der Hackshield korrekt Installiert und im Spiel geladen wurde. Wenn ein Fehler festegestellt wurde wird es dem Benutzer nicht erlaubt den Client zu starten
  • Stufe 2 - Diese Stufe prüft welche Programme laufen. Wenn du z.B. Cheatengine öffnest erkennt es der HackShield und beendet das Spiel.
  • Stufe 3 - Stufe 3 ist Serverside, es wird geprüft was der Client macht und ob er dies überhaupt darf. Diese Information kann geloggt werden und der Spieler gekickt oder sogar gebannt werde.

Weitere Stufen sind möglich. GF begann im Mai 2010 mit der Implementation des HackShields.

 

HackShield Aufruf

 

Funktionen des HackShield:

HackShield Funktionsumfang

 

hackshield_Operation_Process

 

Kummunikation mit dem Server:

hackshield kommunikation

 

 

HackShield-Bypass:

Folgendes geht nur wenn Stufe 3 noch nicht implementiert wurde.

1. Client entpacken

Zuerst einmal müssen wir den Client unpacken, bevor wir daran rumspielen können. Der Client ist mit UPX gepackt. Da UPX sich jedoch aus irgendeinem Grund dagegen sträubt, den Client zu entpacken müssen wir ihn mit einem anderen Tool entpacken. Ich habe hierfür ein PEiD-Plugin verwendet.
Die Plugin-DLL muss in den Plugin-Ordner von PEiD reinkopiert werden. Zunächst öffnen wir die Client-Executable "metin2client.bin" in PEiD. Dann klicken wir auf den Pfeil unten rechts in der Ecke -> Plugins -> Unpacker for UPX. Wenn der Unpacker erfolgreich war, müsste eine neue Date namens "unpacked.exe" im Metin2-Ordner erstellt worden sein.


2. HackShield rauspatchen

Um HackShield aus dem Client rauszupatchen verwenden wir einen Hex-Editor. Ich benutze hierfür HxD, aber es ist vollkommen egal welchen Hex-Editor genau ihr nehmt.
Zu allererst öffnen wir unseren soeben entpackten Client (unpacked.exe, nicht metin2client.bin!) in unserem Hex-Editor. Dann suchen wir nach der folgenden Signatur:

Code:
E895EBFFFF84C00F847C010000

In HxD geht das folgendermaßen: Zuerst drückt ihr Strg+F. Als Datentyp müsst ihr unbedingt Hex-Werte auswählen. Die obrige Signatur anschließend in das obere Feld reinkopieren.
HxD sollte nun zu der Signatur springen. Die Hex-Werte ersetzen wir jetzt alle durch 90. Anschließend müsste dieser Teil folgendermaßen aussehen:

Code:
90909090909090909090909090

Nun die gepatchte Datei nur noch abspeichern und euer Client ist HackShield-frei!

Tools

PEiD
UPX Unpacker Plugin
HxD

 

 

Metin2 HackShield umgehen:

1.Geht in euer Metin2 Verzeichnis (Normalerweise: C:\Program Files/Metin2)
2.Wenn ihr dort seit in den Ordner HShield gehen.
3.Dort müsst ihr die Datei ahnrpt.exe, bzw. den ganzen Ordner löschen. (letzteres nicht probiert.)
4.Downloadet die Datei ("Start1")
5.Tut sie einfach in euren Metin2 Ordner.
6. Fertig! Startet das Spiel durch die Start1-Datei.
Die Datei "start1" umgeht das Patch, da sonst die gelöscht Datei aus dem HShield Ordner wieder auftauchen würde.

Video: [Klick]