VB.NET Flash Game automatisieren

07/11/2015 14:44 iBanane#1
Hey Leute. Ich will einen Bot für ein Flash Game schreiben.

Bei älteren Browsergames wie auch z.B Die Stämme konnte man das einfach über das WebBrowser-Element oder auch über HttpWebRequests machen, hier funktioniert keins von beiden so wirklich. Da ich von dieser Thematik noch überhaupt keine Ahnung habe, habe ich einfach mal ein paar Sachen probiert. Als erstens der WebBrowser, da wurde nicht mal das Loginfenster angezeigt. Dann der HttpWebRequest, da ging der Login aber ab dem Punkt wo der Browser anfängt die ganzen Dateien zu laden, komme ich nicht mehr weiter.
Ich habe auch schon gelesen, dass man das mit dem Shockwave Element machen kann, allerdings finde ich nicht mal die .swf Datei von dem Spiel. Habt ihr schon Ehrfarungen mit sowas gemacht und könnt mir Tipps geben?

Ich hoffe auf Antworten, danke.
Liebe Grüße
Banane
07/11/2015 15:35 YatoDev#2
Du musst die Daten die das Spiel sendet und dein browser abfangen und diese pakete nachbauen
07/11/2015 16:12 iBanane#3
Muss ich das nur mit den POST's machen oder auch mit den GET's ?
07/11/2015 16:28 YatoDev#4
bei flash mit keinem von beiden
07/11/2015 16:53 iBanane#5
Achso. Also ich habe das jetzt mal mit Wireshark mitgeschnitten. Das ist eigentlich immer das Protokoll "TLSv1.2" oder halt TCP. Wenn ich mir das erste Paket ansehe verstehe ich allerdings nur Bahnhof. Protokoll "TLSv1.2" mehr verstehe ich nicht mehr, ansonsten nur "Encrypted Application Data: 0000000000000004bf22051d6e29a262d22c3b63fd188350.. ."
Kann ich das jetzt im Prinzip einfach so losschicken? Muss ich das erst noch entschlüsseln? Kann mir da wer weiterhelfen, etwas zum durchlesen über das Ganze wäre hilfreich. :)
07/11/2015 20:27 YatoDev#6
lad die swf dateien runter:)

Musst mal schauen wie du die findest ansonsten irgendein browseraddon das flash dateien runterläd.

Dann dekompilierst du die mit [Only registered and activated users can see links. Click Here To Register...] und du wirst es viel einfacher haben.
Wenn da eine verschlüsselungsfunktion ist musst du die nur nachbauen und selbst die daten senden.
In der flash datei kannst du auch die ganzen packets besser finden.

hast du dir auch schon gedanken gemacht wie du die verbindung aufbaust? tcp sockets sind nicht ganz so einfach wie http
07/11/2015 20:47 iBanane#7
Ich habe den TCPClient schon benutzt um einfach mit einem anderen Computer zu kommunizieren, wenn das gleich oder nicht sehr anders ist sollte das das geringere Problem darstellen. :3 Danke schon mal, ich habe jetzt zwei .swf Dateien & die sehen auch schon recht gut aus, allerdings ist das recht viel Code um da was sofort zu finden, nach was suche ich jetzt genau? Nach den "TCP-Nachrichten" und der Verschlüsselung, dass ich das dann einfach nachbauen kann? Gibt es da irgendwelche Schlüsselworte oder so, dass ich nicht den kompletten Code durchsuchen muss?
07/11/2015 20:56 YatoDev#8
wenn der code nicht obfuscated ist kannst du ja mal nach encode oder crypt suchen ka. du musst sowieso den ganzen code kennen da du die request alle nachbauen musst
07/11/2015 20:59 iBanane#9
Alles klar, dann werd ich mal ein bisschen rumprobieren und mich dann melden, danke schon mal. :)
07/20/2015 18:38 delemojo#10
Hab da auch mal eine frage zu :D
Also habe jetzt diese Flash datei (Siehe Anhang) habe sie dekompiliert mit dem Flash Decompiler. So nun wo steht was? Bzw was brauche ich was an das Spiel "gesendet" werden muss und wie stelle ich das am besten an? :P
07/21/2015 07:35 Requi#11
Quote:
Originally Posted by delemojo View Post
Hab da auch mal eine frage zu :D
Also habe jetzt diese Flash datei (Siehe Anhang) habe sie dekompiliert mit dem Flash Decompiler. So nun wo steht was? Bzw was brauche ich was an das Spiel "gesendet" werden muss und wie stelle ich das am besten an? :P
Das scheint nicht die SWF zu sein, die für Verbindungen zuständig ist. Um welches Spiel geht es denn?
07/21/2015 08:37 Serraniel#12
Quote:
Originally Posted by iBanane View Post
Hey Leute. Ich will einen Bot für ein Flash Game schreiben, falls relevant, es handelt sich um Elvenar von InnoGames[...]
Ricky, also wirklich :o
/Edit. Habs verkackt Ricky :D

Du musst letztenendes, wie bereits erwähnt, dir den Clienten den das Spiel anbietet nachprogrammieren (in die SWF kann ich nicht reinschauen da auf Arbeit), sodass du grundlegend kommunizieren kannst. Wie dabei vorgehst hat Flutter dir schon genannt.
Im Anschluss klinkst du dich entweder an den relevanten Stellen dazwischen und veränderst Daten, falls dass dein Ziel ist, oder du sendest diese automatisiert ab ohne das der Nutzer was machen muss (z.B. Baue Gebäude XY, Bewege Einheit A nach Punkt B, etc.).
07/21/2015 08:47 delemojo#13
Quote:
Originally Posted by Requi View Post
Das scheint nicht die SWF zu sein, die für Verbindungen zuständig ist. Um welches Spiel geht es denn?
Seafight. Achso also brauch man die "Main.swf". Ich dachte man liest aus den einzelnen SWF dateien etwas aus.^^
07/21/2015 09:06 Requi#14
@Serraniel
Ich habe nicht ohne Grund delemojo zitiert.

Quote:
Originally Posted by delemojo View Post
Seafight. Achso also brauch man die "Main.swf". Ich dachte man liest aus den einzelnen SWF dateien etwas aus.^^
Seafight's SWF ist verschlüsselt (xor'd um es genau zu nehmen :rolleyes:) und dazu noch obfuscated.
Dazu sind die Packets die vom Client an den Server sowie zurück gesendet werden verschlüsselt.
Als Anfänger würde ich mich nicht daran setzen. Gerade weil BigPoint anscheinend ein gutes Antibotsystem (auch für DarkOrbit). Packetbots werden dort generell schnell detected.

Und ja, man nimmt für sowas die main.swf (im Fall Seafight). Wäre ja idiotisch alles über 500 SWF's zu verteilen :D
07/21/2015 09:24 delemojo#15
Quote:
Originally Posted by Requi View Post
@Serraniel
Ich habe nicht ohne Grund delemojo zitiert.



Seafight's SWF ist verschlüsselt (xor'd um es genau zu nehmen :rolleyes:) und dazu noch obfuscated.
Dazu sind die Packets die vom Client an den Server sowie zurück gesendet werden verschlüsselt.
Als Anfänger würde ich mich nicht daran setzen. Gerade weil BigPoint anscheinend ein gutes Antibotsystem (auch für DarkOrbit). Packetbots werden dort generell schnell detected.

Und ja, man nimmt für sowas die main.swf (im Fall Seafight). Wäre ja idiotisch alles über 500 SWF's zu verteilen :D
Ok danke :D Ich guck mich dann mal um ob ich irgendwas einfaches finde zum üben :P

PS: Du kennst doch bestimmt den Golem Bot. Der indiziert Code in den Flashplayer weißt du wie man das anstellt? :D