Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 11:50

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Client Emulator Programmieren

Discussion on Client Emulator Programmieren within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
TheCherry's Avatar
 
elite*gold: 0
Join Date: Apr 2012
Posts: 151
Received Thanks: 40
Client Emulator Programmieren

Ich würde gerne einen Client Emulator für das Spiel League of Legends Programmieren. Ich habe mir dazu mal das Tutorial angesehen.

Bei dem Spiel an sich gibts kein Login, denn das passiert separat durch einen anderen Client, dieser Startet das eigentliche Spiel dann durch Parameter, welcher Server und eine Session. Wenn ich nun nach dem Tutorial gehe, bekomme ich ca. 5 Packets die Sekunde. Wie kann ich da vorgehen? Das ist ja doch recht viel. Oder sollte ich am Besten über OllyDbg das ganze auseinander nehmen?

Schön wäre es wenn mir jemand ein bisschen zur Seite stehen könnte, der schon mal einen Client oder Server Emulator geschrieben hat und mir etwas über ICQ, MSN oder Skype was hilft.
TheCherry is offline  
Old 05/27/2012, 20:52   #2
 
Tyrar's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
die menge der packets ist ganz zu anfang unwichtig, als erstes muss du wissen, ob es ne encryption gibt oder nicht!

gehen wir mal von aus es gibt keine / das haste schon alles erledigt

die packetstruktur kann man im grunde nur "erraten", ich gehe hier mal von meinem metin2 bot aus:
die packets haben hier alle den aufbau: header (packet id), daten und dann ein sequence byte (zum check).
jetzt musst du rausfinden wie das bei lol is.

die einzige möglichkeit ist zu schauen, wie sich einige packets bei bestimmten events wiederholen (bsp. chat)
daraus kann man dan (je nach dem was man schreibt) ablesen, was da drin steht. wenn das nicht so perfekt klappt muss man nunmal reversen!
Tyrar is offline  
Old 05/27/2012, 21:11   #3
 
TheCherry's Avatar
 
elite*gold: 0
Join Date: Apr 2012
Posts: 151
Received Thanks: 40
Also ich gehe schon davon aus das es verschlüsselt ist und warum ist die menge egal? Wenn ich nun was in den Chat z.B. schreibe, wie kann ich raus finden, welches Packt nun der Chat war? Denn bis ich es stopen kann, habe ich schon wieder 20 neue Packets drinnen oder mehr
TheCherry is offline  
Old 05/27/2012, 21:34   #4

 
マルコ's Avatar
 
elite*gold: 1329
Join Date: Jun 2009
Posts: 1,873
Received Thanks: 960
Die Antwort ist Packetstruktur. Da steht irgendwo drin, dass es ein Chatevent ist. Wenn das Packet verschlüsset ist, dann must du es erst entschlüsseln, und dann mal anschaun, was da so drin steht, und evtl mehrere Packets des selben Events vergleichen, dann siehst du schnell
AHA, die 08 AB da vorne heißt, es ist ein Chatevent, dahinter kommt der Name, dann eine Farbe, dann die Chatmeldung, dann noch eine Checksum oder so ähnlich.
マルコ is offline  
Old 05/27/2012, 21:45   #5
 
TheCherry's Avatar
 
elite*gold: 0
Join Date: Apr 2012
Posts: 151
Received Thanks: 40
Quote:
Originally Posted by minecrawler View Post
Die Antwort ist Packetstruktur. Da steht irgendwo drin, dass es ein Chatevent ist. Wenn das Packet verschlüsset ist, dann must du es erst entschlüsseln, und dann mal anschaun, was da so drin steht, und evtl mehrere Packets des selben Events vergleichen, dann siehst du schnell
AHA, die 08 AB da vorne heißt, es ist ein Chatevent, dahinter kommt der Name, dann eine Farbe, dann die Chatmeldung, dann noch eine Checksum oder so ähnlich.
Naja entschlüsseln ist ja einfach so gesagt, wie gehe ich das am besten an? In OllyDbg bin ich mal die Funktionen vom "CALL WSASentTo" hoch gegangen. Nach 4 mal hoch gehen bin ich in einer kleinen Schleife mit Dynamischen CALL aufrufen. Zwischen diesen 4 Aufrufen ist wirklich viel code, wie finde ich dort die Verschlüsselung am sinnvollsten? :O
TheCherry is offline  
Old 05/28/2012, 15:27   #6
 
Tyrar's Avatar
 
elite*gold: 0
Join Date: Oct 2008
Posts: 1,637
Received Thanks: 1,119
einen hook in der funktion platzieren wo du denkst dass es encrypted wird und den input buffer loggen...
so hab ich es gemacht

das gleiche funktioniert auch andersrum, nur dass man beim empfangen nunmal den output buffer braucht ;D
Tyrar is offline  
Thanks
1 User
Old 05/29/2012, 20:01   #7
 
TheCherry's Avatar
 
elite*gold: 0
Join Date: Apr 2012
Posts: 151
Received Thanks: 40
Soll ich einfach mal ne Detour auf allen Funktionen machen die ich in den funktionen selbst finde? Hört sich schon mal ganz gut an, nur eine sache, in welchen Registern stehen die Parameter denn immer? oder sind das die, die vorher gepusht werden? Weil in Olly schaue ich einfach unten rechts normalerweise.
TheCherry is offline  
Old 05/30/2012, 14:48   #8
 
RunzelEier's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 1,196
Received Thanks: 682
unten rechts steht der stack.
ja, das ist das mit dem pushen. lol

auf alles nen detour legen ist nicht unbedingt die beste idee.
step lieber mit dem debugger durch und schau wo das packet verschlüsselt wird.

Die funktion kannst du dir dann in deine programmiersprache übersetzten oder sofern die sprache inline assembler kennt direkt koopieren.
RunzelEier is offline  
Old 05/30/2012, 15:41   #9
 
TheCherry's Avatar
 
elite*gold: 0
Join Date: Apr 2012
Posts: 151
Received Thanks: 40
Ja ich bin noch ein Anfänger im debuggen ... mache den ASM / debug kram erst seid 1,5 monaten.

naja aber die internen packets sind (habe ich bei einem veralteten packetlogger gesehen) auch nur bytes. wird also nicht ganz so einfach das beim durch stepen zu sehen.

Naja c++ dann, also sollte das ja schon mal kein problem werden
TheCherry is offline  
Old 05/30/2012, 16:08   #10
 
RunzelEier's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 1,196
Received Thanks: 682
nen client emulator ist schon ein ziemlich großes projekt, das sollte dir klar sein.

natürlich sind die packets nur bytes. du musst aber rausfinden welche von den bytes zusammen gehören (dword, short, float, ...) und wofür sie stehen.

am einfachsten ist es meistens mit chat packeten, da siehst du dann den klartext solange bis er gecryptet ist.
RunzelEier is offline  
Old 05/30/2012, 16:16   #11
 
TheCherry's Avatar
 
elite*gold: 0
Join Date: Apr 2012
Posts: 151
Received Thanks: 40
naja der client emulator soll nicht viel können, außer zum game connecten und dafür sorgen das er keinen DC bekommt, dazu sollte ja ein pulse packet und ein bewebungs packet reichen.

Mhhh meinste ich kann es so machen: Chat Event finden -> breakpoint setzen, funktion wo der crypt drinnen ist -> breakpoint setzen jedoch nicht einschalten. dann das chat event aufrufen und beim break den breakpoint 2 einschalten?
TheCherry is offline  
Reply


Similar Threads Similar Threads
SRO Emulator+Client?
05/19/2014 - SRO Private Server - 7 Replies
Hey Com, Ich finde das spiel SRO sehr nice! Und wollte mir einen P-Server über Hamachi machen, nun da ich keine ahnung davon habe welchen Emulator ich benutzen soll (Client auch net) wollte ich fragen ob mir hier jemand weiter helfen kann. Also bitte nur was für Anfänger und nicht gleich Profi oder Fortgeschrittenes^^ Hey Com, I found SRO very nice, and i would made a P-server per hamachi but i dont know what an Emulator i should used. The same Problem with the client. And now i...
AionEngine Emulator Support Client 2.1.0.x
08/20/2012 - Aion Guides & Strategies - 236 Replies
After a long time of trying to get Java and the Emulator working, I decided to make an easy to use EasyAIONEmu Repack for me and now I share this to you!. You only have to download Novo's EasyAIONEmulator Repack and start it. No installation, no configuration, nothing! (it use it's own portable Java and MySQL Server) ========================================== 25th November 2010: AionEngine_Emulator_Repack_LastSourceTribute:
Ep2 Emulator suche Client
03/25/2012 - Last Chaos Private Server - 2 Replies
Huhu zusammen , ich hab den Emu usw von wiz alles erfolgreicht installiert und eingestellt nur fehlt mir der Client um mich überhaupt einloggen zu können ! In einem andern Thread hieß es lad dich den Client von Ariea runter usw hab ich alles gemacht aber es klappt nicht ...! könnt ihr mir bitte helfen ?
Metin1 ! Client + EMULATOR!
09/08/2009 - Metin2 Private Server - 7 Replies
Moinsen, ich habe eben gerade eine Seite gefunden wo ich den Metin1 Clienten downloaden kann. Natürlich gibt es auch eine offiziele Seite von Metin1. Einen Emulator gibt es auch, damit man einen eigenen Server hat. Wer die Offiziele Seite wissen möchte, bedankt sich hier im Thread und schickt mir eine PN. PS: Das Spiel ist in 2D! Und registrierung ist das einfachste was es überhaupt gibt :) MfG Sergi
Can someone tell me where can i get the conquer emulator to host a client?
03/29/2008 - Conquer Online 2 - 3 Replies
Can someone tell me the name of the Conquer Emulator



All times are GMT +1. The time now is 11:50.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.