[Delphi]Browsergame Bot

04/05/2010 22:24 DannitPictures#1
Hallöchen!

Über die Suche fand ich bereits eine kleine Beschreibung, wie man das hinkriegen könnte. (HTTP Transfer Protocoll usw.)

Da ich schon sehr lange in Delphi code (keine Bots) und da ich nicht gerne noch eine andere Programmiersprache lernen will, möchte ich gerne mit delphi versuchen, einen Bot zu schreiben!

Vielleicht kennt sich ja jemand damit aus..

Sollte ich pure API verwenden oder Komponenten benutzen wie TWebBrowser oder irgendeine Indy Componente?

Oder könnte mir jemand ein bisschen erklären wie man mit delphi das Protokoll verwendet?

Thx
04/06/2010 09:18 HardCore.1337#2
Schau dir mal die Indy Komponente an.
Dazu muss ich aber sagen, das ein Client Spiel (WoW, Guild Wars...) einfacher zu botten ist als ein direkter Browserbot (meine Meinung, wegen der Packetgeschichte und so).
04/06/2010 13:48 DannitPictures#3
Quote:
Originally Posted by General Desert View Post
Schau dir mal die Indy Komponente an.
Dazu muss ich aber sagen, das ein Client Spiel (WoW, Guild Wars...) einfacher zu botten ist als ein direkter Browserbot (meine Meinung, wegen der Packetgeschichte und so).
Ok danke... Weißt du vielleicht welche Indy?
IdHttp? Thx
04/06/2010 13:58 HardCore.1337#4
Wenn du ein Browser Bot machst, dann glaub ich IdHttp und AntiFrezz
04/06/2010 14:19 DannitPictures#5
Ganz dolles thx
werde ich mir angucken
04/06/2010 14:56 HardCore.1337#6
Kannst mich auch mal bei ICQ/Skype adden.
Vlt. kann ich dir helfen.
Nummer+Name gibts per PN
04/07/2010 01:53 schlurmann#7
Schau dir an wie ein Browser mit einem Server kommuniziert.

Stichwörter sind HTTP POST/GET, aber vorher solltest du dich allgemein über's HTTP Protokoll informieren.
04/07/2010 23:09 DannitPictures#8
Ich habe mich seit 2 Tagen hin und wieder informiert! Also der Client sendet Befehle an den Server, der Server wertet diese aus und wenn z.B. get /djod/1.html HTTP/1.1\n\n zum Server kommt dann sendet der Server die Datei 1.html zum Client und beendet die Verbindung sofort!!

Nun gut, ich habe kleine Tests gemacht, mit IdHttp und dem Befehl get..

Ich habe halt mit einem Stream die Datei in ein Memo geladen und siehe da, es funktioniert!

Jetzt aber zu meinem Problem!
Ich habe vor, einen Bot für Ogame zu programmieren!!
Wie finde ich den Auth. Befehl für den Login heraus? Bei dem Quellcode erkenne ich sowas nicht... Hat jemand eine Idee?

Ich müsste halt nur einen Befehl mit User, Pw und UNI an die Ogame-Startseite senden. Diese Leitet mich dann entsprechend weiter. Diese Seite und deren Unterseiten usw. downloade ich dann und sende dann wieder Befehle, welche der User in die Gui eintippt.
Dann müsste ich ja eine riesiege Befehlsdatenbank anlegen oder?

Mfg und erstmal thx für die Hilfe! ;)

€d1T: Was auch wichtig wäre, ist zu wissen, wann der Server den User wieder ausloggt, also nach wieviel Minuten Inaktivität. Muss ich einen Admin dafür anschreiben? Ich muss ja nicht das ganze Problem schildern! ^^
04/07/2010 23:29 ^darkwing#9
siehe "tamper data"
addon, dass die requests vom firefox browser loggt (was geht wohin).
04/07/2010 23:40 DannitPictures#10
Cool danke, damit kann man ja schonmal alles sehen. Ich gucks mir weiterhin etwas an

€d1T: Cool danke, jetzt habe ich schon die Parameter für den Login! Danke ^darkwing^^

€d1T(2): OK, Jetzt komme ich nicht weiter...
Ich muss nun die folgenden Parameter senden:

uni_id=101&v=2&is_utf8=0&uni_url=andromeda.ogame.d e&login=54g45g&pass=45g54g&submitInput=Login

IDHttp1.Post('http://uni7.ogame.de/game/reg/login2.php', param) geht bei mir nicht!
(abstrakter Fehler)
(param= 'uni_id=101&v=2&is_utf8=0&uni_url=a..........')

Weiß jemand, wie ich das senden kann?
04/08/2010 01:52 Cascraft#11
Einen Browsergame Bot ist würklich sehr einfach warum bloß so einen großen aufwand?
04/08/2010 14:57 DannitPictures#12
Quote:
Originally Posted by Cascraft View Post
Einen Browsergame Bot ist würklich sehr einfach warum bloß so einen großen aufwand?
Warum denn einfach?
Also ich habe jetzt geschafft, dass er sich einloggt und man die Ressourcen auslesen kann (Metall, Kristall, usw. falls sich jemand damit auskennt)
Doch die Methode die ich benutzte geht nur wenn die Anzahl der Zeilen des Quelltextes gleich bleibt..
Ich benutze Zeilen Index und lese ab bestimmten Stellen.

Wie wäre denn die einfache Methode?
Thx erstmal
04/08/2010 16:06 DannitPictures#13
Ich habe dank Tamper alles gut geschafft!
Ich kann nun alles bewältigen!
Jedoch will ich nun den Bot so machen, dass er sich immer einloggt und das nächste Gebäude baut wenn das vorherige Gebäude fertig ist...

Wie kann ich jetzt die Zeiten der Gebäude berechnen?
Kennt jemand die Steigung?
Ich kenne mich da nicht so aus...

Also wenn ich die proportionale Steigung der Metallminendauer angucke:
(Stufe 1: 1m 48s
Stufe 2: 2m 42s
Stufe 4: 4m 03s),
dann steigt sich die Dauer immer um 1,5.
Also es wird immer um die Hälfte länger!
Ist es denn aber auch immer so?
Bei Deuteriumsyn. ist das genauso mit 1,5.
Bloß bei Kristall ist das 1,6...

Gibt es nun eine Liste mit den Bauzeiten?
Thx nochmal
08/24/2010 23:53 Handcreme#14
Hey,

ich möchte mich hier auch einmal einklinken, da ich, wie der Threadersteller, gern mehr über Browsergamebots mit Delphi erfahren möchte. Leider war der Threadersteller in letzter Zeit nicht mehr on, weshalb ich nach Tutorials bzw. allgemeinen Codesnippets frage. Ich hab mir das Tutorial zur Browsergameprogrammierung mit AutoIT nun schon öfters angeguckt, aber ich kann es ohne Hilfe in Delphi nicht umsetzen -> deswegen bitte ich um Codebeispiele (wie man zB. mit Cookies umgeht).
Meldet euch :handsdown:

Viele Grüße.