Habe ich!! Nach dem tut habe ich sogar gebaut!! was habe ich denn falsch gemacht??
Vielen dank für den Bot!!
Vielen dank für den Bot!!
Das du nach dem Tut das gemacht hast ist eher unwahrscheinlich , da gewisse Sachen fehlten (anscheinend nicht richtig gelesen was ? ^^)Quote:
Habe ich!! Nach dem tut habe ich sogar gebaut!! was habe ich denn falsch gemacht??
Vielen dank für den Bot!!
#include<String.au3>
$login=InputBox("Benutzername", "Gib deinen Benutzernamen an.")
$pass=InputBox("Passwort", "Gib dein Passwort an.")
TCPStartup() ;Braucht man um die Tcp Befehle benutzen zu können
$Ip = TCPNameToIP("www.bongspiel.de") ; IP-Adresse vom Server
TCPShutdown()
$post= "xajax=login&xajaxr="&TimerInit()&"&xajaxargs[]=%3Cxjxquery%3E%3Cq%3Eusername%3D"&Change($login)&"%26password%3D"&Change($pass)&"%3C%2Fq%3E%3C%2Fxjxquery%3E"
$source=TCPRequest($ip, "www.bongspiel.de", "/function_ajax.php", $post, '', 'http://www.bongspiel.de/?show=start')
$cookies=GetCookies($source)
while 1
If StringInStr($source,Change($login))=0 And StringInStr($source,$login)=0 Then ;wenn der Name nicht gefunden wurde ist man wohl nicht mehr eingeloggt
$post= "xajax=login&xajaxr="&TimerInit()&"&xajaxargs[]=%3Cxjxquery%3E%3Cq%3Eusername%3D"&Change($login)&"%26password%3D"&Change($pass)&"%3C%2Fq%3E%3C%2Fxjxquery%3E"
$source=TCPRequest($ip, "www.bongspiel.de", "/function_ajax.php", $post, '', 'http://www.bongspiel.de/?show=start') ; Change(...) sollte man nicht vergessen
$cookies=GetCookies($source)
EndIf
$post="xajax=start_job&xajaxr="&TimerInit()&"&xajaxargs[]=3"
$source=TCPRequest($ip, "www.bongspiel.de", "/function_ajax.php", $post, $cookies, 'http://www.bongspiel.de/?show=jobs')
Sleep(Random(2111,5333)) ; Die Arbeit dauert sowieso 30min , also warum Internetverbindung belasten ?
WEnd
Func GetCookies($sQuellcode)
Local $sCookies, $i, $aCookies
$sCookies = ''
$aCookies = _StringBetween($sQuellcode, 'Set-Cookie: ', ';', 1)
For $i = 0 To UBound($aCookies) - 1
$sCookies &= $aCookies[$i] & ';'
Next
Return $sCookies
EndFunc ;==>GetCookies
Func TCPRequest($sIp, $sHost, $sSeite = "", $sPost = '', $sCookies = '', $sReferer = '', $iMaxTime = 10000)
Local $sPacket, $iSocket, $iTimer
If $sPost = '' Then
$sPacket = 'GET /' & $sSeite & ' HTTP/1.1' & @CRLF
Else
$sPacket = 'POST /' & $sSeite & ' HTTP/1.1' & @CRLF
EndIf
$sPacket &= 'Host: ' & $sHost & @CRLF & _
'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 (.NET CLR 3.5.30729)' & @CRLF & _
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' & @CRLF & _
'Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3' & @CRLF & _
'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7' & @CRLF & _
'Keep-Alive: 300' & @CRLF & _
'Content-Type: application/x-www-form-urlencoded' & @CRLF & _
'Connection: keep-alive' & @CRLF
If $sReferer <> '' Then
$sPacket &= 'Referer: ' & $sReferer & @CRLF
EndIf
If $sCookies <> '' Then
$sCookies = StringStripCR($sCookies)
$sCookies = StringStripWS($sCookies, 8)
$sPacket &= 'Cookie: ' & $sCookies & @CRLF
EndIf
If $sPost <> '' Then
$sPacket &= 'Content-Length: ' & StringLen($sPost) & @CRLF
EndIf
$sPacket &= @CRLF
If $sPost <> '' Then
$sPacket &= $sPost
EndIf
TCPStartup()
If @error Then Return SetError(1, 0, "")
$iSocket = TCPConnect($sIp, 80)
If @error Then Return SetError(2, 0, "")
TCPSend($iSocket, $sPacket)
If @error Then Return SetError(3, 0, "")
$iTimer = TimerInit()
Do
$sRecv = TCPRecv($iSocket, 1024)
If TimerDiff($iTimer) > $iMaxTime Then Return SetError(4, 0, "")
Until $sRecv <> ""
Do
$sRecv &= TCPRecv($iSocket, 1024)
Until @error Or StringInStr($sRecv, '</html>')
TCPCloseSocket($iSocket)
TCPShutdown()
Return $sRecv
EndFunc ;==>TCPRequest
Func Change($string)
$string = StringReplace($string, "%", "%25")
$string = StringReplace($string, " ", "+")
$string = StringReplace($string, "ä", "%C3%A4")
$string = StringReplace($string, "ö", "%C3%B6")
$string = StringReplace($string, "ü", "%C3%BC")
$string = StringReplace($string, "!", "%21")
$string = StringReplace($string, '"', "%22")
$string = StringReplace($string, "§", "%C2%A7")
$string = StringReplace($string, "$", "%24")
$string = StringReplace($string, "&", "%26")
$string = StringReplace($string, "/", "%2F")
$string = StringReplace($string, "+", "%2B")
$string = StringReplace($string, "(", "%28")
$string = StringReplace($string, ")", "%29")
$string = StringReplace($string, "=", "%3D")
$string = StringReplace($string, "?", "%3F")
$string = StringReplace($string, "[", "%5B")
$string = StringReplace($string, "]", "%5D")
$string = StringReplace($string, "{", "%7B")
$string = StringReplace($string, "}", "%7D")
$string = StringReplace($string, "ß", "%C3%9F")
$string = StringReplace($string, ",", "%2C")
$string = StringReplace($string, ":", "%3A")
$string = StringReplace($string, ";", "%3B")
$string = StringReplace($string, "#", "%23")
$string = StringReplace($string, "~", "%7E")
$string = StringReplace($string, "²", "%C2%B2")
$string = StringReplace($string, "³", "%C2%B3")
$string = StringReplace($string, "<", "%3C")
$string = StringReplace($string, ">", "%3E")
$string = StringReplace($string, "|", "%7C")
$string = StringReplace($string, "^", "%5E")
$string = StringReplace($string, "°", "%C2%B0")
$string = StringReplace($string, "´", "%C2%B4")
$string = StringReplace($string, "@", "%40")
$string = StringReplace($string, "€", "%E2%82%AC")
$string = StringReplace($string, "†", "%E2%80%A0")
Return $string
EndFunc ;==>Change
Das StringinStr heißt , wenn dein Benutzername nicht mehr im Quelltext vorhanden ist , dann bist du auch nicht mehr eingeloggt und ich lass es eben überprüfen , wenn du nicht mehr eingeloggt bist , wirst du automatisch eingeloggt .Quote:
okay... also das hab ich glaub ich ganz gut verstanden, bis auf das string in string, in der schleife... d.h, wenn ich das richtig interpretiert habe, dass wenn der login nichtmehr im get package ist, dass dann nochmal das Post-package mit dem login gesendet wird, oder? Naja, und die While schleife ist ja auch ganz verständlich... ich muss das nur nochmal nachlesen, was "0" und was "1" ist... ;) ansonsten, habe ich doch weitgehend schon alles richtig gemacht, oder? weil func change ist ja nicht zwingend... Jetz guck ich nochmal nach einem anderen browsergame, für das ich einen Bot scripten kann :D hat meinen ehrgeiz geweckt ;)
P.S.: Habe deine Code noch ein wenig abgeändert, sodass man den Beruf zu anfang auswählen kann (Inputbox...) *freu* ;)