Bot - Algorithmus

03/20/2007 14:42 Term!nX#1
Hallo da!

Ich hab mir mal Gedanken darüber gemacht, welche Schritte man machen muss, um einen einfach gestalteten Bot ohne GUI zu erstellen. Hab mich für den Anfang mal [Only registered and activated users can see links. Click Here To Register...] dran orientiert. Im Prinzip müsste ich verschiedene Offsetadressen für zB HP, Mana, Coords herausfinden. Hierbei könnte mir einer evtl. eine ausführlicherere Beschreibung geben, wie ich sie statisch machen kann. Mein Buch erzählt mir auch was von static pointern, aber das ist leider lausigst erklärt.
Dann müsste ich natürlich Funktionen des Spiels ausführen könne. Also wenn ich einfach nur laufen, angreifen, NPCs ansprechen, mit der Karte reisen wie auch immer möchte, dann muss ich ja auch die Funktion finden, die beim call die Information an den Server sendet. Da habe ich leider keine Ahnung wie oder wo ich suchen muss, benötige ich leider auch eine Erklärung.

Wenn ich das im Prinzip schon hätte, müsste ich doch eigentlich fertig sein, zB farmen zu automatisieren. Gibts noch irgendwelche anderen Gemeinheiten, die man beachten muss?

Und was eher 2rangig ist, wenn dann hatte ich auch vor, den Bot multiclientfähig zu machen. Wobei sich da mit Sicherheit groooße Probleme auftun werden.

Wo wir grad dabei sind, ist es eigentlich auch möglich, einen Bot zu schreiben, der funktioniert, ohne dass das Spiel gerade läuft? Also das der Bot dem Server meldet: Ich bin eingeloggt und fang jetzt an zu spielen. Das gnaze eben ohne dass ein richtiger Spielprozess im Speicher läuft.

Grüße und beste Wünsche für gutes Wetter -.-
03/20/2007 15:01 Maybe It's Maybelline#2
Ich würde dir fürs erste was ans Herz legen, fals du vor hast das ganze mit Guild Wars zu probieren. In Guild Wars ist es wesentlich schwieriger die pointer zu finden ums kurz zu machen. Ich würde dir eventuell empfehlen ein anderes Spiel auszuprobieren. In Guild Wars musst du nämlich nach Arrays suchen um die Adresse am schnellsten zu bekommen.
03/20/2007 15:31 Term!nX#3
Hatte zunächst an GW gedacht, aber wenn das wirklich so schwer ist, dann würde ich echt ein anderes Spiel ausprobieren. Zunächst gehts mir nur um die verschiedenen arbeitsschritte. Da kann ich zusätzliche Schwierigkeiten echt nicht gebrauchen.
03/27/2007 13:21 Brotmafia#4
Schau dir mal den Openkore Bot von Ragnarok Online an, dort liegt der Source bei!
03/27/2007 14:28 neji#5
Quote:

Hierbei könnte mir einer evtl. eine ausführlicherere Beschreibung geben, wie ich sie statisch machen kann.
z.b. [Only registered and activated users can see links. Click Here To Register...] oder [Only registered and activated users can see links. Click Here To Register...] oder auch [Only registered and activated users can see links. Click Here To Register...]
03/27/2007 14:43 Term!nX#6
Quote:
Originally posted by neji@Mar 27 2007, 14:28
Quote:

Hierbei könnte mir einer evtl. eine ausführlicherere Beschreibung geben, wie ich sie statisch machen kann.
z.b. [Only registered and activated users can see links. Click Here To Register...] oder [Only registered and activated users can see links. Click Here To Register...] oder auch [Only registered and activated users can see links. Click Here To Register...]
<3


Wie viel ASM braucht man eigentlich? Also Grundlagen als Antwort würde mir nicht viel bringen, eher die Dinge beim Bot, die ich nur mit ASM machen kann - denn Sprache sollte schon c++ sein.
03/28/2007 14:58 neji#7
Du brauchst ASM Kenntnisse um an die ganzen Adressen zu kommen.... Nicht immer kann man bei DMA to Static nach Schema F vorgehen, da muss man auch mal improvisieren , und dazu muss man auch verstehen was da passiert wenn man den Prozess Debugged, wissen wo man BP's setzen kann/muss und wo man eingreifen kann.
03/28/2007 15:46 Term!nX#8
Hm okay, wie ich die Adresse zT errechne und Offsets finde ist alles klar. Also kann ich den kompletten Bot in c++ schreiben, muss aber die Informationen teils mit ASM und Softice holen. Dennoch bräuchte ich keinen Assemblercompiler oder größere Mengen an Code in Assembler.
03/29/2007 19:13 Adroxxx#9
naya wird dann aber ein etwas längeres unterfangen ^^
03/29/2007 22:59 Term!nX#10
Wenn ich nicht in ASM schreibe? Meines Wissens nach sind ein großteil der Bots in C# oder .net sprachen geschrieben. Wie dem auch sei, MiM erwähnte, dass man Arrays finden soll (für GW), wie muss ich mir das den vorstellen?
03/30/2007 11:17 BlackFog#11
Ich denke mal wenn du denn Wert suchst wirst du nicht auf eine einzelne Variable sondern auf ein Array stoßen und dort musst du dann erst das richtige Array ansteuern.

MFG

BlackFog
03/30/2007 12:02 neji#12
wenn bestimmte Infos in einer Struktur gespeichert sind, dann brauchst du die Adresse der Struktur. Die einzelnen Werte sind dann quasi offsets der Array-Adresse

also z.b. HP = Array-Start + 0x10
Munition = Array-Start + 0x68

usw.
03/30/2007 12:48 NoName#13
ich würde an deiner stelle wenn du noch keine erfahrung hast mit leichter sachen wie z.b. trainer machen in offline games oder ähnlich und dann hocharbeiten, direkt mit ne bot anzufangen für ne onlinegame ohne erfahrung wirste wohl nicht sehr weit kommen und/oder evtl auch die lust dran verlieren.

und wenn du mit onlinegames arbeitest würde ich auch erstmal an kostenlosen arbeiten die in der regel leichter zu knacken sind.
03/30/2007 16:03 Term!nX#14
Okay, ich werd schauen was sich tun lässt. Erstes Ziel wäre im Prinzip ein Programm, dass mir HP, Mana und son Krempel anzeigt. Unter welchen Begriffen müsste ich recherchieren, um in c++ die Funktionen zu finden, die Werte von Speicheradressen anzeigen - oder muss ich da die Pointer lernen?
03/30/2007 16:36 BlackFog#15
ReadProcessMemory für Pointer.
Ich hab auch einen Code von sd333221 den kann ich dir per PM schicken der Zeigt wie du mit Hilfe von Static Pointern die Hp rauskriegst. Ich hoffe das geht in Ordnung. Schreib mich einfach an wenn du ihn haben möchtest.

MFG

BlackFog