|
You last visited: Today at 00:39
Advertisement
Pakete verschicken
Discussion on Pakete verschicken within the General Coding forum part of the Coders Den category.
08/13/2010, 18:55
|
#1
|
elite*gold: 0
Join Date: Sep 2009
Posts: 51
Received Thanks: 10
|
Pakete verschicken
Hallo,
ich habe mir hier schon einige/ziemlich viele^^ Tutorials zu Gamehacking, sprich Cheat Engine, Paket Sniffing, usw durchgelesen. Was ich mich jetzt nur frage ist, könnte ich in einem MMORPG zB einen Gegenstand verkaufen, das Paket, das dafür verschickt wird mitsniffen und dann das Paket immer wieder abschicken, damit der Server denkt, ich verkaufe das Item ganz oft -> ich bekomme viel Kohle ;D (Würde natürlich nur funktionieren, wenn die Items die man mit herumträgt nur clientseitig gespeichert werden, da er sonst vermutlich merkt, dass man das Item gar nicht mehr hat) Und die zweite Frage dazu ist, wie lässt sich so etwas (oder etwas ähnliches, was funktionieren würde) mit einem Programm realisieren. Damit der Server auch denkt, das Paket kommt vom richtigen Spiel. Kann man auf die Socketverbindung zwischen Spiel und Server zugreifen und das darüber laufen lassen? Wenn es Codebeispiele gibt, wäre ich dankbar wenn diese entweder in C# (auf diese Sprache will ich mich konzentrieren) oder AutoIT (Vom Verständnis her vermutlich einfacher, da ich noch ziemlich geringe Kenntnisse was Programmieren angeht habe) geschrieben wären. Generell bin ich aber für jede Hilfe dankbar, sogar wenn sie in Suaheli verfasst ist
P.S.: Ich erwarte natürlich nicht, dass sich jemand die Mühe macht und mir einen fertigen Code den ich nur copy und pasten muss postet und ich ihn trotzdem nicht verstehe. Da hab ich ja nix davon
|
|
|
08/13/2010, 19:02
|
#2
|
elite*gold: 966
Join Date: Apr 2010
Posts: 1,105
Received Thanks: 681
|
Für das Versenden von Packets per AutoIt kann ich dir  empfehlen. Musst eben nur Port ändern (für weitere Fragen: PN me).
Mit vb.net (vll. auch C#?) solltest du dir mal die Class TCPClient und TCPListener ansehen. (Für Fragen/Code: PN me).
|
|
|
08/13/2010, 21:54
|
#3
|
elite*gold: 0
Join Date: Sep 2009
Posts: 51
Received Thanks: 10
|
Ok, dankeschön. Bin gerade dabei mir das zu AutoIT durchzulesen. Bedeutet das, dass man immer eine neue Verbindung aufbauen muss? Sprich ich könnte in diesem MMO nicht sagen ich logge mich normal ein und sende dann das Paket das den Verkauf eines Items vortäuscht sondern ich muss die gesammte Prozedur mit Einloggen, etc. mit meinem Program durchführen?
|
|
|
08/13/2010, 22:04
|
#4
|
elite*gold: 115
Join Date: Oct 2007
Posts: 9,390
Received Thanks: 12,345
|
Du könntest auch eine Art Proxy schreiben, zu dem sich der Client verbindet und dein Programm dann wiederrum eine Verbindung zum Server herstellt.
|
|
|
08/13/2010, 22:26
|
#5
|
elite*gold: 0
Join Date: Sep 2009
Posts: 51
Received Thanks: 10
|
Quote:
Originally Posted by Disconnect
Du könntest auch eine Art Proxy schreiben, zu dem sich der Client verbindet und dein Programm dann wiederrum eine Verbindung zum Server herstellt.
|
Das klingt sehr interessant und ich könnte mir auch vorstellen, dass es funktioniert, da ja dann sowieso alle pakete von diesem Proxy kommen und man nicht unterschieden kann ob das Paket das Spiel oder der Proxy erzeugt hat. Da gibt es nur ein Problem. Ich hab keine Ahnung wie ich das anfangen soll. Ich müsste ja irgendwie dem Spiel sagen, dass es sich mit meinem Proxy verbindet. Und wie man den Proxy an sich schreibt, weiß ich leider auch nicht. Ich werd mal versuchen mir ein bisschen was im Internet zusammen zu suchen, wie man das machen könnte.
€dit: Habe ein Tutorial zu einem Socks5 Proxy in C# gefunden, kann ich mit so einem Proxy etwas anfangen?
|
|
|
08/14/2010, 15:38
|
#6
|
elite*gold: 0
Join Date: Jul 2010
Posts: 388
Received Thanks: 196
|
Quote:
Originally Posted by Zulman
Das klingt sehr interessant und ich könnte mir auch vorstellen, dass es funktioniert, da ja dann sowieso alle pakete von diesem Proxy kommen und man nicht unterschieden kann ob das Paket das Spiel oder der Proxy erzeugt hat. Da gibt es nur ein Problem. Ich hab keine Ahnung wie ich das anfangen soll. Ich müsste ja irgendwie dem Spiel sagen, dass es sich mit meinem Proxy verbindet. Und wie man den Proxy an sich schreibt, weiß ich leider auch nicht. Ich werd mal versuchen mir ein bisschen was im Internet zusammen zu suchen, wie man das machen könnte.
€dit: Habe ein Tutorial zu einem Socks5 Proxy in C# gefunden, kann ich mit so einem Proxy etwas anfangen?
|
Wenn du keine Ahnung von Socketprogrammierung hast, wird das schonmal nichts. Da hilft nur nachlesen.
Wie du bereits angedeutet hast, durch einen kleinen Hook könntest du bequem die vom Spiel bereits hergestellte Verbindung nutzen und deine eigenen Pakete versenden. In purem C# wird das allerdings meines Wissens nach nichts. Für AutoIT gilt das ebenfalls.
Die Proxy Methode setzt natürlich das Umleiten der Verbindung im eigentlichen Client voraus, wenn deine Reversing Fähigkeiten das erlauben, warum nicht? Die Proxy Applikation fungiert dann wie ein Server, empfängt Pakete und leitet sie (ob nun verändert oder nicht) an den Gameserver weiter. Einfacher als Methode 1? Definitiv nicht, vor allem wenn du wenig Reversing -und Programmier - Erfahrung hast.
Je nach Spiel wirst du dich ebenfalls mit Verschlüsselung herumschlagen müssen. Wenige MMOs sind heutzutage ohne Verschlüsselung. Diese musst du lokalisieren und zumindest so viel ASM Verständnis haben, sie entweder nachzubauen oder so zu kopieren, dass sie in deinem Code funktioniert (da wären wir wieder bei "C#/AutoIT? Nein, danke"). Alles in Allem für einen Anfänger sicherlich keine triviale Aufgabe.
|
|
|
08/14/2010, 17:46
|
#7
|
elite*gold: 0
Join Date: Sep 2009
Posts: 51
Received Thanks: 10
|
Hm... eine Antwort in der Richtung habe ich schon fast erwartet. Also vllt doch erst mal etwas einfacheres  Dann werd ich mich jetzt wohl erst mal ein bisschen mit Netzwerkprogrammierung beschäftigen. Vielleicht krieg ich ja erst mal einen kleinen Browsergame bot in C# hin oder etwas in der Art. Für den Anfang sind wohl richtige MMOs doch etwas zu schwierig. Aber vielen dank für die Infos, hat mir auf jeden Fall weitergeholfen.
|
|
|
08/14/2010, 23:34
|
#8
|
elite*gold: 116
Join Date: Oct 2007
Posts: 677
Received Thanks: 248
|
Befass dich lieber erstmal ein wenig mit debugging, hooking und detouren.
Denn falls du eine "proxy dll" coden willst, die du später in den prozess injectest und damit dann die packets auslesen willst, musst zuerst die Funktion zum senden und vllt. auch crypten der packete hooken, sodass du sie dir bevor das spiel sie verschickt ausgeben lassen kannst.
Klingt etwas kompliziert aber in den meisten Fällen wird es in etwa so gemacht. Natürlich kann das von Spiel zu Spiel variieren aber das Grundprinzip bleibt das selbe. Und dafür brauchste auf jeden fall debugging erfahrungen heißt OllyDBG rausholen und etwas rumgucken
|
|
|
08/15/2010, 03:31
|
#9
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,907
Received Thanks: 25,408
|
Quote:
Originally Posted by Zulman
Hallo,
ich habe mir hier schon einige/ziemlich viele^^ Tutorials zu Gamehacking, sprich Cheat Engine, Paket Sniffing, usw durchgelesen. Was ich mich jetzt nur frage ist, könnte ich in einem MMORPG zB einen Gegenstand verkaufen, das Paket, das dafür verschickt wird mitsniffen und dann das Paket immer wieder abschicken, damit der Server denkt, ich verkaufe das Item ganz oft -> ich bekomme viel Kohle ;D (Würde natürlich nur funktionieren, wenn die Items die man mit herumträgt nur clientseitig gespeichert werden, da er sonst vermutlich merkt, dass man das Item gar nicht mehr hat) Und die zweite Frage dazu ist, wie lässt sich so etwas (oder etwas ähnliches, was funktionieren würde) mit einem Programm realisieren. Damit der Server auch denkt, das Paket kommt vom richtigen Spiel. Kann man auf die Socketverbindung zwischen Spiel und Server zugreifen und das darüber laufen lassen? Wenn es Codebeispiele gibt, wäre ich dankbar wenn diese entweder in C# (auf diese Sprache will ich mich konzentrieren) oder AutoIT (Vom Verständnis her vermutlich einfacher, da ich noch ziemlich geringe Kenntnisse was Programmieren angeht habe) geschrieben wären. Generell bin ich aber für jede Hilfe dankbar, sogar wenn sie in Suaheli verfasst ist
P.S.: Ich erwarte natürlich nicht, dass sich jemand die Mühe macht und mir einen fertigen Code den ich nur copy und pasten muss postet und ich ihn trotzdem nicht verstehe. Da hab ich ja nix davon 
|
Wenn ich dich richtig verstehe, fragst du unter anderem, wie du ein eigenes Programm so schreiben kannst, dass der Server denkt, es ist der Client, sodass du es nicht per WPE o.Ä. machen musst (und wahrscheinlich ohne das Spiel laufen zu haben botten kannst).
Dafür müsstest du die Ver- und Entschlüsselung finden und nachbauen, die Packetstruktur analysieren und nachbauen und dann eben noch das Verhalten, wie Server auf Client und umgekehrt reagieren, analysieren.
Dann musst du dich per Sockets mit dem Server über den richtigen Port verbinden und die Packets senden, allerdings wird es wohl, wenn du ein komplett externes Programm und nicht den Client nutzt, auch nötig sein, das Login zu emulieren, damit du überhaupt Zugriff bekommst.
|
|
|
08/15/2010, 15:30
|
#10
|
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
|
hmm ich denke es ist einfacher erstmal zu gucken ob man vieleicht gleich die Dlls b.z.w. funktionen aus dem, spiel übernehmen kann da spart man sich ne menge arbeit. Oft gibt es funktionen wie "SendBuyItemToServer" die man dann einfach nehmen kann. im zweifel kann man diese auch mit einer injeceten Dll aufrufen. Oder man schreibt eben sein eigenes prog.
|
|
|
08/15/2010, 15:54
|
#11
|
elite*gold: 0
Join Date: Sep 2009
Posts: 51
Received Thanks: 10
|
Ok, danke für die ganzen Tipps, aber ich hab leider keine Ahnung von Dlls oder irgendwas hooken, etc. Wie fang ich denn mit sowas am besten an und ist sowas mit C# überhaupt möglich?
|
|
|
08/15/2010, 20:27
|
#12
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,907
Received Thanks: 25,408
|
Naja, hooken halte ich nicht zwingend für nötig, das wäre es nur, wenn du dir nen eigenen Packetsniffer baust, der die Packets auch entschlüsselt, damit du sie besser analysieren kannst.
C# wäre nicht von Vorteil, C/C++ wäre am besten, es geht aber auch mit Delphi o.Ä.
|
|
|
08/15/2010, 23:10
|
#13
|
elite*gold: 0
Join Date: Sep 2009
Posts: 51
Received Thanks: 10
|
Hm... macht mir so den Anschein als obs vllt doch am besten wäre, C++ zu lernen, damit kann man halt trotzdem am meisten machen, nicht nur was jetzt dieses Thema angeht. Obwohl mir C# eig ganz gut gefällt, und C++ ist so schwer hab ich den Eindruck, hab vor einiger Zeit, als ich angefangen hab mich mit Programmieren zu beschäftigen schon mal versucht C zu lernen, aber fiel mir nicht gerade einfach. Auch wenn ich sagen muss da hatte ich noch weniger Basics drauf als heute, und wenn ich mich hier so in dem Forum umsehe hab ich immernoch das Gefühl, dass ich nicht im entferntesten was könnte ;D Sollte ichs vllt trotzdem versuchen auf C++ umzusteigen?
|
|
|
08/15/2010, 23:45
|
#14
|
elite*gold: 7110
Join Date: Jun 2009
Posts: 28,907
Received Thanks: 25,408
|
Du musst nicht umsteigen, es ist immer gut, viele Sprachen zu können.
Außerdem habe ich vor kurzem erfahren, dass es möglich ist, in C++ einen .NET Host zu erstellen, sodass man die wichtigen Dinge mit C++ machen kann und den Rest in C#, ohne die Dll oder den Prozess gleich zu nem .NET File zu machen.
|
|
|
08/16/2010, 00:11
|
#15
|
elite*gold: 0
Join Date: Sep 2009
Posts: 51
Received Thanks: 10
|
Ok, dann bleib ich jetzt erst mal bei C#. Wird ne ganze Menge zu lernen, aber solangs Spaß macht, gehts ja immer noch  Ist wohl das beste, wenn ich mir einfach irgend ein Programm ausdenke und das dann versuche mit Hilfe von vielen Googlesuchen umzusetzen, oder?
|
|
|
 |
|
Similar Threads
|
Tränke Pakete?
05/27/2011 - Metin2 Private Server - 28 Replies
Servus liebe Community,
Ich hab ebend schon die ganze Zeit gesucht habe aber nichts gefunden,
suche Value oder auch ein How To wie man die Tränke Pakete in den Client und den Server rein packt. Ich habe diese Pakete letztens auf einen Deutschen Privat Server gesehn, weiß aber nicht mehr wie er heißt.
Ich hoffe einer kann mir dabei etwas weiter helfen.
Liebe Grüße,
Ide.
|
Cs1.6 Map pakete
08/16/2010 - Counter-Strike - 4 Replies
Map Pakete By GcD
______________
Surfmap paket
SurfMap Paket1
SurfMap Paket2
Surfmap Paket 3
|
[Q]Pakete sniffen
09/13/2009 - General Coding - 14 Replies
ich möchte gerne einen login server für ein spiel erstellen und bin dabei die packets zu sniffen , was wiederum nicht funktioniert. ich habe überall einen haken gesetzt ( 1.1 2.0 ). doch es werden keine pakete gesnifft wenn ich z.b. id und pw eingebe und abschicke müsste doch was angegeben sein oder ? ich connecte auf meine eigene ip das tut nichts zur sache oder ?
spielname : flyff v6
|
c# + pakete sniffen
05/02/2009 - .NET Languages - 2 Replies
Moinsen, nachdem ich nun 2 komplette bots für 2 browsergames gebastelt habe wollt ich nun mal fragen ob es irgendwo ne seite gibt um zu lernen wie man pakete schickt bzw beeinflußt mit einem programm das in c# geschrieben ist mit dem man dann ein Spiel wie zb. Metin2 beeinflußen kann?
|
pakete
01/28/2006 - World of Warcraft - 1 Replies
hat eigentlich schonma wer ausgetestet ob man die pakete von wow abfangen kann und sie verändern kann .sodass man sich zb mit der post 1g schickt und des paket dann abfängt und die 1g ind 100g verändert oder so? Gibt es überhaupt solche programme ,womi man des machen kann ?
|
All times are GMT +1. The time now is 00:40.
|
|