Wie mache ich einen Captcha-Solver Bot? (nur das!)

10/22/2014 18:01 squishee_ds#1
Hey,

ich bräuchte etwas, womit ich bei Die Stämme die Captchas automatisch über Captcha-Server lösen kann. Habe bereits einen Bot fürs Spiel selbst, dieser hat aber keinen integrierten Captcha-Solver.

Kann mir jemand Ansätze geben, wie ich das machen kann? Ich weiß, dass ich von 9kw.eu zum Beispiel eine API bekomme, um mit 9kw zu kommunizieren. (und um Captchas hinzuschicken)

Wie mache ich das nun, dass ich ein Programm schreibe, welches
1.) einen Captcha in einem bestimmten Fenster erkennt (in dem Fall im Browser)
2.) Den Captcha an 9kw schickt
3.) Die Lösung von 9kw holt
4.) Den Captcha im Browser eingibt.

Von mir aus auch gerne mit einem Macro Recorder o.ä.

Danke! :)
10/22/2014 18:06 MrDami123#2
Ja, genauso wie beschrieben. Es könnte sein, dass wenn du versuchst die URL des Captcha Bildes zu downloaden, ein anderes Captcha bekommst, da diese zum Schutz neu generiert werden.
Musst du ausprobieren.
10/22/2014 18:17 squishee_ds#3
Ok, aber wie mache ich das am besten, mit welchem Programm?
10/22/2014 18:20 TheFr34k#4
Ein paar Programmier (Grund-)Kentnisse sollten schon vorhanden sein...
10/22/2014 18:28 MrDami123#5
Quote:
Originally Posted by squishee_ds View Post
Ok, aber wie mache ich das am besten, mit welchem Programm?
Ich kann davon ausgehen, dass du den Bot nicht selber geschrieben hast.
Der Captcha-Resolver sollte in der gleichen Sprache wie der Bot geschrieben werden, da er in diesen integriert werden soll. D.h. dein Bot erkennt das Captcha ließt es aus und sendet es zum entschlüsseln, trägt es ein und fährt mit seiner Tätigkeit fort.
10/22/2014 18:34 squishee_ds#6
So ist es. Dachte man könnte es über nen Macro Recorder irgendwie lösen und etwas vom eigentlichen Bot unabhängiges machen.

Der aktuell tätige Programmierer des Bots meinte auch, dass er es nicht schafft einen aktuellen Captchadienst zu integrieren, da der Code schon so verschachtelt und unübersichtlich ist. In diesem Bot ist eigentlich Captchabrotherhood eingebaut, diesen Dienst gibt's aber nicht mehr.
10/22/2014 18:38 Looneytune#7
Captcha bekommst du bei, ich vermute du meinst Die Stämme, über dein Browser Cache. Wenn dein Bot nicht gerade die Source bereitstellt und keine Schnittstelle für z.B: Plugins hat, dann wird es schwer, aber nicht unmöglich, ein seperates Script laufen zu lassen, dass das Captcha erkennt und löst, aber auch den Bot, also das Hauptprogramm für diese Zeit kontrolliert.

Man müsste natürlich wissen, wie sich der Bot bei einem Captcha verhält, wenn er z.B: bei einem Captcha stoppt, was die meisten Bots wohl tun, wenn sie das Captcha nicht eigenständig lösen können, dann müsste das neue Script, dass das Captcha lösen soll, den Bot nach der Lösung des Captchas wieder starten.
10/22/2014 18:38 MrDami123#8
Wenn Captchabrotherhood eingebaut ist, sollte der Bot bereits in der Lage sein den C. auszulesen. Das der Programmierer es nicht schafft, bedeutet, dass er keine Lust hat. ;)

Es ist auch getrennt vom Bot möglich das C. zu lösen. Weiß aber nicht wie der Bot darauf reagiert, wenn er versucht etwas durchzuführen und ein C. blockiert ihm den Weg, ob er dann Fehler ausliefert, abstürzt oder brav wartet.
10/22/2014 18:42 squishee_ds#9
Quote:
Originally Posted by MrDami123 View Post
Wenn Captchabrotherhood eingebaut ist, sollte der Bot bereits in der Lage sein den C. auszulesen. Das der Programmierer es nicht schafft, bedeutet, dass er keine Lust hat. ;)

Es ist auch getrennt vom Bot möglich das C. zu lösen. Weiß aber nicht wie der Bot darauf reagiert, wenn er versucht etwas durchzuführen und ein C. blockiert ihm den Weg, ob er dann Fehler ausliefert, abstürzt oder brav wartet.
Der letzte Stand von ihm ist dieser: "Ein Captchareader kann im Moment nicht implementiert werden, denn ich/wir haben keinen Code der zuverlässig die captcha-bilder aus dem IE bekommt."

(Bot wird in IE11 ausgeführt)

Die zweite Variante würde mir absolut reichen, der Bot stoppt bei einem Captcha, wartet also brav. => im Prinzip kommt nur eine MsgBox. Wenn man diese wegklickt schaut der Bot wieder nach, ob der Captcha gelöst ist, wenn nicht kommt wieder die MsgBox
(das reaktivieren nach der Captcha-Eingabe könnte ich wohl selbst relativ schnell schaffen mit nem MacroRecorder, wäre ja nur 1x auf "OK" in der MsgBox klicken)

Wie würde man das denn getrennt machen, einen Captcha-löser zu machen?

Lg
10/22/2014 18:43 Looneytune#10
Wäre natürlich hilfreich zu wissen, um welchen Bot es sich handelt ...
10/22/2014 18:47 squishee_ds#11
Quote:
Originally Posted by Looneytune View Post
Wäre natürlich hilfreich zu wissen, um welchen Bot es sich handelt ...
klaro, geht um diesen hier: [Only registered and activated users can see links. Click Here To Register...]
funktioniert soweit zufriedenstellend zum farmen, captchalösen kann der halt nicht (mehr)
10/22/2014 18:51 Looneytune#12
Da ist eine Source dabei, ergo kann jeder den Bot umschreiben, was es in dieser Hinsicht schon mal einfacher macht. Die Funktion heraussuchen, die auf Captcha reagiert und dann umschreiben, so wie du deine Theorie aufgestellt hast.

9kw.eu bietet dafür eine UDF an, das Captcha zu erkennen bzw. es auf die Festplatte zu bekommen, ist so zusagen fast das einzige was man schreiben muss. Wie vorhin bereits gesagt, das Captcha bekommst du über die Cache.
10/22/2014 19:38 squishee_ds#13
Ich fürchte, das bekomme ich nicht hin, da fehler mir einfach die Kenntnisse. :(

Hat denn jemand Lust gegen Bezahlung das zu machen? (könnte mehr e*gold holen oder anderweitig)

die .au3 ist frei downloadbar: [Only registered and activated users can see links. Click Here To Register...]

lg
10/22/2014 20:09 Onkelmat#14
gib mal Link zur Source bitte,
schreibe zwar selbst nur in C# aber autoit ist da nicht weit entfernt davon, bin nur zu faul die source jetzt zu suchen..
Find ich aber auch scheisse, wenn der Entwickler, dann entweder keine Lust mehr hat, oder seinen Bot so schlecht geschrieben hat, dass er das nicht mehr implementieren kann.
10/22/2014 20:15 squishee_ds#15
Quote:
Originally Posted by Onkelmat View Post
gib mal Link zur Source bitte,
schreibe zwar selbst nur in C# aber autoit ist da nicht weit entfernt davon, bin nur zu faul die source jetzt zu suchen..
Find ich aber auch scheisse, wenn der Entwickler, dann entweder keine Lust mehr hat, oder seinen Bot so schlecht geschrieben hat, dass er das nicht mehr implementieren kann.
hier bitte:

[Only registered and activated users can see links. Click Here To Register...]

die sache ist, dass dieses projekt schon von vielen entwicklern weitergegeben wurde, ist quasi ein gemeinschaftsprojekt und gibt's schon viele viele jahre. also die originalentwickler sind da gar nicht mehr dabei. der jetzige programmierer ist eigentlich total nett, hat mir geholfen einen sehr nervigen bug zu fixen.

lg