[question]bot basics

04/26/2011 10:47 luckylukas92#1
Hallo,
Ich würde gerne versuchen einen einloggbot für Flyff zu programmieren
-> ich spiele das spiel zwar nicht selbst, habe aber gesehen, dass es hier schon so einige bots gibt, was vermuten lässt, dass es nicht besonders gut geschützt ist (->gut für anfänger).

Zu mir:
ich habe bereits erfahrung in c++, allerdings nur in roboterprogrammierung und ein wenig mit der Winapi. Ich habe vor einiger Zeit schon einmal einen pixelbot(autoit) und einige browsergamebots(mit c++) programmiert (->ich denke das hilft mir aber nicht weiter).

Frage:
Wie schon in der Einleitung gesagt würde ich gerne einen Einloggbot bauen, das sollte hoffentlich nicht zu viel arbeit sein und trotzdem einen guten einstieg in die botprogrammierung bieten.
->Nach welchen schlagwörten sollte ich da googeln, bzw. gibt es bücher die empfehlenswert sind oder eventuell tutorials?
Wichtig:Ich möchte keinen Pixelbot schreiben (der bot und das programm sollen im hintergrund laufen können)
MfG Lukas
04/26/2011 11:13 mydoom#2
Eine Möglichkeit bestünde sicher darin, die Daten zu analysieren, die zwischen dem Spiel und dem Server ausgetauscht werden. Dort lässt sich wahrscheinlich eine Art "Login-Paket" finden. Das müsste dein Bot dann an den Server senden et voilá: Du bist eingeloggt.

Mögliche "Pitfalls" wären:
a) eine vorhandene Verschlüsselung der Kommunikation. Dann müsstest du zunächst mit Reverse Engineering an die Routine gelangen und diese in deinen Bot implementieren.

b) irgendetwas anderes, was ich gerade nicht bedacht habe.

Was für diesen Weg wichtig ist:

- Kenntnisse über Netzwerke, Netzwerkprogrammierung, Sockets usw.
- eventuell Reverse Engineering
04/26/2011 11:54 luckylukas92#3
Wie hast du/ habt ihr damit angefangen?
Reverse Engeneering hört sich sehr kompliziert an (hab mir das mal auf wikipedia durchgelesen) - ist es ohne studium als hobbyinteresse überhaupt möglich sich da ein zu finden?
MfG Lukas
04/26/2011 13:44 MoepMeep#4
Quote:
Originally Posted by luckylukas92 View Post
Wie hast du/ habt ihr damit angefangen?
Reverse Engeneering hört sich sehr kompliziert an (hab mir das mal auf wikipedia durchgelesen) - ist es ohne studium als hobbyinteresse überhaupt möglich sich da ein zu finden?
MfG Lukas
Sowas lernt man nicht im Studium ;D
04/26/2011 14:31 luckylukas92#5
Ich meinte nicht ein studium in bot-programmierung xD, sondern ein studium in informatik überhaupt (abgesehen davon gibt es tatsächlich studiengänge, die sich ausschließlich mit hacking beschäftigen) ... alles was ich bis jetzt kann habe ich mir selbst über bücher und tutorials selbst bei gebracht und alle meine bisherigen projekte in c++ waren allein stehende anwendungen und haben nicht auf andere prozesse zugegriffen. Deswegen wüsste ich gerne womit ihr angefangen habt? Gibt es evtl. ein gut dokumentiertes how-to? Eine Buchempfehlung?
MfG Lukas
04/26/2011 22:27 Endecs#6
Also so wie ich das verstehe möchtest, das er reloggt, bzw. einloggt und es soll im Hintergrund laufen, somit bräuchtest:

SendMessage oder PostMessage
ReadMemory
und 1-2 Offsets

1Offset für ob man noch Ingame ist bzw. ausgelogt ist und 2 für die Char Position wenn man mehrere hat.

Dafür kannst du Cheat Engine verwenden glaub ich mal, und dann einfach
Eingelogt -> 4bytes "Unknown Value"
Ausloggen -> "Value Changed" (Next scan)
etc.

Bei der Char Position sollte der erste Char "0" haben der 2.te "1" 3.te "2" und dann halt auswählen aber nicht einloggen und nach der "Exact Value" scannen.
04/26/2011 23:03 luckylukas92#7
ich kann mir nicht vorstellen, dass das trotz gamequard so einfach geht...
abgesehen davon hilft es mir ja nichts zu wissen, ob ich eingeloggt bin oder nicht -> viel interessanter wäre es zu wissen wie meine einloggdaten zum server gelangen und was ich als antwort erhalte.
"Live Http headers" für mmorpgs xD (ich weiß, dass das nicht so möglich ist aber ich denke jeder weiß was gemeint ist)
Ich habe was von WEP gelesen, flyff startet aber nicht mehr, so bald ich das programm auf dem pc habe.
Es muss doch ein programm geben, mit dem ich monitoren kann woher welche pakete kommen/wohin welche versendet werden ...
MfG Lukas
04/27/2011 19:04 MoepMeep#8
Eigenen Packetlogger schreiben.
04/27/2011 23:40 xNopex#9
Quote:
Eigenen Packetlogger schreiben.
Dazu: [Only registered and activated users can see links. Click Here To Register...]

Vllt würde es dir auch genügen Hooks/Detours auf WinAPI Funktionen zu setzen, um gezielt die Bytes abzugreifen, die von dem Spiel gesendet und empfangen werden. Sollte von der Theorie her auch funktionieren, zumindest in meinem Kopf.
04/28/2011 12:01 luckylukas92#10
Hallo,
Quote:
Originally Posted by MoepMeep View Post
Eigenen Packetlogger schreiben.
Genau das ist das Ding :D.
Ich versuch meine Frage noch einmal anders zu stellen:
1.Denkt ihr (ihr spreche hier die erfahrenen c++ programmierer an), es ist möglich als (fast) neuling in c++ so etwas zu realisieren?

-> seien wir ehrlich roboterprogrammierung hat rein garnichts mit packetloggern zu tun. Und meine erfahrung in php kann mir wohl auch nicht weiter helfen, höchstens Mysql und ich weiß nicht ob das bei flyff benutzt wird. Wird es?

2.Meint ihr es ist eine kluge Idee gleich mich einem Spiel an zu Fangen, dass eine mehr oder minder gute Guard Software besitzt?

3.An die Leute, die sowas können: Wie habt ihr angefangen? Internet Tutorials, Bücher? Habt ihr eventuell noch Links? Buchvorschläge`?

4.Macht es überhaupt Sinn als Neuling in der Szene gleich mit c++ und Winapi zu programmieren oder sollte man lieber vorerst als "leichtere" Sprachen zurück greifen?

MfG Lukas
und schonmal danke all die, die sich die fragen durch lesen :D