Quote:
Originally Posted by *_Kenshi_*
Dein Client komuniziert mit dem Server über sogenante "Packets".
Diese Packete enthalten verschiedene Informationen damit dein Client bzw. der Server weiß was er nun zu tun hat.
Der Packetlogger tut wie der name schon sagt diese Packete mitschreiben.
Jenachdem wie der Packetlogger aufgebaut ist hast du dann auch die möglichkeit selber Packete zu senden.
Wie er genau funktioniert weiß ich nicht 
Hab nich so die Ahnung von diesem Debugger ASM kram 
Ich denke aber mal das er sich irgendwo in die Funktion einklinkt die für das entsprechende Senden/Empfangen zuständig ist und schön mitschreibt.
|
Also es wird ne Detour z.B. in der Sendfunktion gesetzt bevor die Packets verschlüsselt wurden. Ne Detour ist eine Umleitung in einen zusätzlich in der DLL befindlichen Code. In diesem Fall wird an der stelle umgeleitet wo das Packet grade durch das Programm läuft dieses Packet wird dann geloggt und dann springt Nostale wieder zu der gewohnten Funktion zurück.
Gesendet wird indem die Sendfunktion aufgerufen wird und vorher das gewünschte Packet übergeben wurde.
Und der Client kommuniziert mit dem Server aus einem einfachen grund.
Das eigendliche Spiel läuft nämlich nicht im Clienten ab sondern auf dem Server.
Du musst dir das so vorstellen.
Du Klickst an einen Punkt, der Client sendet zu dem Server Charakter XYZ bewegt sich zu Punkt X Y.
Dann sendet der Server zurück "Client zeig wie Charakter XYZ nach Punkt X Y läuft.
Im grunde ist der Client nur das Programm was den ablauf des Spiels auf dem Server Grafisch darstellt.
Deswegen bringt es auch in NosTale z.b. nichts wenn du z.b. mit CheatEngine die Koordinaten veränderst. Denn du veränderst nur was dein Client dir Zeigt und nicht wo dein Charakter wirklich steht.