|
You last visited: Today at 19:33
Advertisement
[AutoIt]Tutorial zu Browsergamebots (Packetbots und IEbots)
Discussion on [AutoIt]Tutorial zu Browsergamebots (Packetbots und IEbots) within the Coding Tutorials forum part of the General Coding category.
12/05/2010, 00:02
|
#166
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Quote:
Originally Posted by atakon
das ist für mich extrem unlogisch weil ich kein richtiges genie in diesem ereich bin ich hab es ehrlich gesagt nicht kapiert wie es geht
|
Dann solltest du dir ersteinmal die Grundlagen aneignen und zuvor vielleicht ein paar Pixel-Bots machen.
|
|
|
01/06/2011, 00:08
|
#167
|
elite*gold: 0
Join Date: Aug 2010
Posts: 20
Received Thanks: 2
|
Ich hab da ma ne Frage, und zwar möcht ich gern wissen ob du bei dem Packetbot-Teil die Funktion von AMrK 1:1 übernommen hast bis auf die msg funktion, oder ob du noch andere Dinge in der Funktion geändert/diesem Tut angepasst hast.
Ansonsten sehr geiles Tut, habs schon geschafft mich in speed4life einzuloggen aber irgendwie will der net Tunen -.- Auf jeden Fall dickes THX^^ lg
€: Jaaa er tunt ich habs doch geschafft ^.^ Vielleicht veröffentliche ich hier doch noch den 1. S4L Bot xD
|
|
|
01/07/2011, 13:10
|
#168
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Quote:
Originally Posted by -Nò_óNê-
Ich hab da ma ne Frage, und zwar möcht ich gern wissen ob du bei dem Packetbot-Teil die Funktion von AMrK 1:1 übernommen hast bis auf die msg funktion, oder ob du noch andere Dinge in der Funktion geändert/diesem Tut angepasst hast.
Ansonsten sehr geiles Tut, habs schon geschafft mich in speed4life einzuloggen aber irgendwie will der net Tunen -.- Auf jeden Fall dickes THX^^ lg
€: Jaaa er tunt ich habs doch geschafft ^.^ Vielleicht veröffentliche ich hier doch noch den 1. S4L Bot xD
|
Ich glaube, ich habe sonst nichts geändert.
Bin mir aber nicht mehr sicher.
|
|
|
01/10/2011, 21:45
|
#169
|
elite*gold: 0
Join Date: Aug 2010
Posts: 20
Received Thanks: 2
|
Hey,
Kann mir jmnd. kurz erklären wie man die Oberfläche von einem autoitprogramm verschwinden lassen kann, ohne das eigentliche Programm zu beenden? Also das man nur noch unten rechts in der Leiste das Icon anklicken kann, um das script zu pausieren oder zu beenden, mein ich. Hab da schon so SW_ befehle usw durchgesucht aber i.wi nicht das richtige dabei. wär nett wenn mir wer helfen könnte € habs rausgefunden...
dann noch eine Frage zu Funktionen, kann man irgendwie 2 funktionen zur selben zeit ausführen? weil wenn ich schreibe z.bsp. Funktion() und Funktion2() führt er ja eine nach der andern aus.
|
|
|
01/13/2011, 18:41
|
#170
|
elite*gold: 0
Join Date: Sep 2010
Posts: 54
Received Thanks: 7
|
hey hab mal eine frage wie mache ich es das inerhalb des spieles wenn ich zb den "bau"butten klicken lassen will das das geht ? was muss ich dazu machen ich komm da nicht drauf sonst hab ich ja alels kapiert aber das nicht .. wie ich das mache das er weiterarbeitet und auf "los" oder"bauen " klickt ?! egal bei welchem spiel ich will die action überhaupt wissen den befehl und wo man das dazu findet was man dazu eingeben muss in dem befehl...
|
|
|
01/15/2011, 17:25
|
#171
|
elite*gold: 0
Join Date: Aug 2010
Posts: 153
Received Thanks: 32
|
Quote:
Originally Posted by -Nò_óNê-
Hey,
Kann mir jmnd. kurz erklären wie man die Oberfläche von einem autoitprogramm verschwinden lassen kann, ohne das eigentliche Programm zu beenden? Also das man nur noch unten rechts in der Leiste das Icon anklicken kann, um das script zu pausieren oder zu beenden, mein ich. Hab da schon so SW_ befehle usw durchgesucht aber i.wi nicht das richtige dabei. wär nett wenn mir wer helfen könnte € habs rausgefunden...
dann noch eine Frage zu Funktionen, kann man irgendwie 2 funktionen zur selben zeit ausführen? weil wenn ich schreibe z.bsp. Funktion() und Funktion2() führt er ja eine nach der andern aus.
|
GUI von deinem Programm kannst mit verbergen.
Code:
GUISetState(@SW_HIDE)
|
|
|
02/06/2011, 19:26
|
#172
|
elite*gold: 0
Join Date: Jan 2011
Posts: 162
Received Thanks: 11
|
Schade alter , das du nix mehr machst
|
|
|
02/09/2011, 04:13
|
#173
|
elite*gold: 0
Join Date: Feb 2010
Posts: 41
Received Thanks: 5
|
@Shadow992:
Gutes (ausführliches) TUT 
Du solltest vollständiger Weise die Funktion Change($string) durch folgende von  veröffentlichte Funktion ersetzen:
PHP Code:
Func _URIEncode($sData)
; Prog@ndy
Local $aData = StringSplit(BinaryToString(StringToBinary($sData,4),1),"")
Local $nChar
$sData=""
For $i = 1 To $aData[0]
ConsoleWrite($aData[$i] & @CRLF)
$nChar = Asc($aData[$i])
Switch $nChar
Case 45, 46, 48-57, 65 To 90, 95, 97 To 122, 126
$sData &= $aData[$i]
Case 32
$sData &= "+"
Case Else
$sData &= "%" & Hex($nChar,2)
EndSwitch
Next
Return $sData
EndFunc
Diese geht auf alle 'Fälle' ein und nicht nur auf die einigen von Change()...
|
|
|
03/04/2011, 15:18
|
#174
|
elite*gold: 0
Join Date: Mar 2011
Posts: 35
Received Thanks: 5
|
Hallo zusammen,
ich habe mit diesem Tutorial versucht einen Packetbot für das Spiel brokenspace.de zu entwerfen, aber leider funktioniert es nicht.
Ich sitze jetzt schon seit Stunden dran, aber finde leider keinen Fehler.
Wäre jemand mal so nett drüber zu schauen?
Die Funktionen laufen scheinbar einwandfrei ab, aber es passiert nix. Habe vorerst nur versucht mich einzuloggen und 1 Gebäude zu bauen, aber wenn ich dann nachgucke ob das Gebäude in Bau ist, ist leider nix passiert...
PHP Code:
#include<String.au3>
$name=' ' $passwort='123456'
#comments-start IP Adresse des Host ermitteln #comments-end TCPStartup() $ip = TCPNameToIP("brokenspace.4players.de") TCPShutdown()
$post='bs-login-mail='&Change($name)&'&bs-login-pass='&Change($passwort)&'&form_login_submit=Einloggen' #comments-start einloggen #comments-end $source=TCPRequest($ip,"brokenspace.4players.de", 0, 'login/',$post, "", "http://brokenspace.4players.de/login/") $cookies=GetCookies($source) #comments-start Fusionsreaktor bauen #comments-end $source=TCPRequest($ip,"brokenspace.4players.de", 0, 'runde13/planet/gebaeude.php?bid=g_02',"", "", "http://brokenspace.4players.de/runde13/planet/gebaeude.php/")
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, $msg=1, $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 6.1; de; rv:1.9.2.14) Gecko/20110218 Firefox/3.6.14' & @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-Encoding: gzip,deflate' & @CRLF & _ 'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7' & @CRLF & _ 'Keep-Alive: 115' & @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 If $msg=1 Then MsgBox(0,"hallo welt",$sPacket) 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, "†", "%E2%80%A0") $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, " ", "+") $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") Return $string EndFunc ;==>Change
|
|
|
03/05/2011, 12:32
|
#175
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Quote:
Originally Posted by testaccount34
Hallo zusammen,
ich habe mit diesem Tutorial versucht einen Packetbot für das Spiel brokenspace.de zu entwerfen, aber leider funktioniert es nicht.
Ich sitze jetzt schon seit Stunden dran, aber finde leider keinen Fehler.
Wäre jemand mal so nett drüber zu schauen?
Die Funktionen laufen scheinbar einwandfrei ab, aber es passiert nix. Habe vorerst nur versucht mich einzuloggen und 1 Gebäude zu bauen, aber wenn ich dann nachgucke ob das Gebäude in Bau ist, ist leider nix passiert...
PHP Code:
#include<String.au3>
$name=' '
$passwort='123456'
#comments-start
IP Adresse des Host ermitteln
#comments-end
TCPStartup()
$ip = TCPNameToIP("brokenspace.4players.de")
TCPShutdown()
$post='bs-login-mail='&Change($name)&'&bs-login-pass='&Change($passwort)&'&form_login_submit=Einloggen'
#comments-start
einloggen
#comments-end
$source=TCPRequest($ip,"brokenspace.4players.de", 0, 'login/',$post, "", "http://brokenspace.4players.de/login/")
$cookies=GetCookies($source)
#comments-start
Fusionsreaktor bauen
#comments-end
$source=TCPRequest($ip,"brokenspace.4players.de", 0, 'runde13/planet/gebaeude.php?bid=g_02',"", "", "http://brokenspace.4players.de/runde13/planet/gebaeude.php/")
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, $msg=1, $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 6.1; de; rv:1.9.2.14) Gecko/20110218 Firefox/3.6.14' & @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-Encoding: gzip,deflate' & @CRLF & _
'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7' & @CRLF & _
'Keep-Alive: 115' & @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
If $msg=1 Then
MsgBox(0,"hallo welt",$sPacket)
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, "†", "%E2%80%A0")
$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, " ", "+")
$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")
Return $string
EndFunc ;==>Change
|
Das ist doch ganz klar, ohne Cookies geht nichts!
|
|
|
03/05/2011, 15:27
|
#176
|
elite*gold: 0
Join Date: Mar 2011
Posts: 35
Received Thanks: 5
|
Quote:
Originally Posted by Shadow992
Das ist doch ganz klar, ohne Cookies geht nichts!
|
Zugegeben, so geht es natürlich auf keinen Fall. Hatte die Cookies aber vorher drin. Warum ich sie wieder rausgenommen hab, kann ich dir jetzt auch nicht mehr sagen.
aber leider geht es auch mit cookies nicht
hast du sonst noch ne idee, wodran es liegen könnte?
zwischenfrage - wenn ich nur das loginpacket schicke und dann den browser öffne und das spiel starte - müsste ich dann eingeloggt sein? weil das packet doch genau das vortäuscht: ich logge mich mit firefox ins spiel ein. denn selbst das funktioniert schon nicht richtig...
PHP Code:
#include<String.au3>
$name=' '
$passwort='123456'
#comments-start
IP Adresse des Host ermitteln
#comments-end
TCPStartup()
$ip = TCPNameToIP("brokenspace.4players.de")
TCPShutdown()
$post='bs-login-mail='&Change($name)&'&bs-login-pass='&Change($passwort)&'&form_login_submit=Einloggen'
#comments-start
einloggen
#comments-end
$source=TCPRequest($ip,"brokenspace.4players.de", 1, 'login/',$post, "", "http://brokenspace.4players.de/login/")
$cookies=GetCookies($source)
#comments-start
Fusionsreaktor bauen
#comments-end
$source=TCPRequest($ip,"brokenspace.4players.de", 1, 'runde13/planet/gebaeude.php?bid=g_02',$cookies, "http://brokenspace.4players.de/runde13/planet/gebaeude.php/","" )
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, $msg=1, $sSeite = "", $sPost = '', $sCookies = '', $sReferer = '', $iMaxTime = 10000)
Local $sPacket, $iSocket, $iTimer
If $sPost = '' Then
$sPacket = 'POST /' & $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 6.1; de; rv:1.9.2.14) Gecko/20110218 Firefox/3.6.14' & @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-Encoding: gzip,deflate' & @CRLF & _
'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7' & @CRLF & _
'Keep-Alive: 115' & @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
If $msg=1 Then
MsgBox(0,"hallo welt",$sPacket)
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, "†", "%E2%80%A0")
$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, " ", "+")
$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")
Return $string
EndFunc ;==>Change
|
|
|
03/05/2011, 15:58
|
#177
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Quote:
Originally Posted by testaccount34
Zugegeben, so geht es natürlich auf keinen Fall. Hatte die Cookies aber vorher drin. Warum ich sie wieder rausgenommen hab, kann ich dir jetzt auch nicht mehr sagen.
aber leider geht es auch mit cookies nicht
hast du sonst noch ne idee, wodran es liegen könnte?
zwischenfrage - wenn ich nur das loginpacket schicke und dann den browser öffne und das spiel starte - müsste ich dann eingeloggt sein? weil das packet doch genau das vortäuscht: ich logge mich mit firefox ins spiel ein. denn selbst das funktioniert schon nicht richtig...
PHP Code:
#include<String.au3>
$name=' '
$passwort='123456'
#comments-start
IP Adresse des Host ermitteln
#comments-end
TCPStartup()
$ip = TCPNameToIP("brokenspace.4players.de")
TCPShutdown()
$post='bs-login-mail='&Change($name)&'&bs-login-pass='&Change($passwort)&'&form_login_submit=Einloggen'
#comments-start
einloggen
#comments-end
$source=TCPRequest($ip,"brokenspace.4players.de", 1, 'login/',$post, "", "http://brokenspace.4players.de/login/")
$cookies=GetCookies($source)
#comments-start
Fusionsreaktor bauen
#comments-end
$source=TCPRequest($ip,"brokenspace.4players.de", 1, 'runde13/planet/gebaeude.php?bid=g_02',$cookies, "http://brokenspace.4players.de/runde13/planet/gebaeude.php/","" )
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, $msg=1, $sSeite = "", $sPost = '', $sCookies = '', $sReferer = '', $iMaxTime = 10000)
Local $sPacket, $iSocket, $iTimer
If $sPost = '' Then
$sPacket = 'POST /' & $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 6.1; de; rv:1.9.2.14) Gecko/20110218 Firefox/3.6.14' & @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-Encoding: gzip,deflate' & @CRLF & _
'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7' & @CRLF & _
'Keep-Alive: 115' & @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
If $msg=1 Then
MsgBox(0,"hallo welt",$sPacket)
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, "†", "%E2%80%A0")
$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, " ", "+")
$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")
Return $string
EndFunc ;==>Change
|
@LogIn
Nein müsstest du nicht sehen, man merkt als normaler User gar nichts davon, deswegen ist es auch recht schwer da Fehler zu finden.
Für dein Spiel musst du erst einmal die "Hauptseite":
Quote:
aufrufen und dann schon beim 1. mal die Cookies auslesen lassen und beim LogIn mitschicken.
Dem Server fehlt nämlich der Cookie beim Einloggen:
Quote:
|
Cookie: bsc-sid=9035eea626c209db56039999d4de2725
|
|
|
|
03/05/2011, 18:32
|
#178
|
elite*gold: 150
Join Date: Mar 2011
Posts: 13,411
Received Thanks: 4,377
|
Super ausführlich. Vielen, vielen Dank!
|
|
|
03/05/2011, 22:12
|
#179
|
elite*gold: 0
Join Date: Mar 2011
Posts: 35
Received Thanks: 5
|
Quote:
Originally Posted by Shadow992
Für dein Spiel musst du erst einmal die "Hauptseite":
aufrufen und dann schon beim 1. mal die Cookies auslesen lassen und beim LogIn mitschicken.
Dem Server fehlt nämlich der Cookie beim Einloggen:
|
gut, habe ich verstanden und auch gemacht:
PHP Code:
#include<String.au3>
$name=' '
$passwort='123456'
#comments-start
IP Adresse des Host ermitteln
#comments-end
TCPStartup()
$ip = TCPNameToIP("brokenspace.4players.de")
TCPShutdown()
$source=TCPRequest1($ip,"brokenspace.4players.de", 1, 'community/',"","","")
$cookies=GetCookies($source)
msgbox(0,"",$source)
#comments-start
$post='bs-login-mail='&Change($name)&'&bs-login-pass='&Change($passwort)&'&form_login_submit=Einloggen'
#comments-start
einloggen
#comments-end
$source=TCPRequest($ip,"brokenspace.4players.de", 1, 'login/',$post, "", "http://brokenspace.4players.de/login/")
$cookies=GetCookies($source)
#comments-start
Fusionsreaktor bauen
#comments-end
$source=TCPRequest($ip,"brokenspace.4players.de", 1, 'runde13/planet/gebaeude.php?bid=g_02',$cookies, "http://brokenspace.4players.de/runde13/planet/gebaeude.php/","" )
#comments-end
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 TCPRequest1($sIp, $sHost, $msg=1, $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 6.1; de; rv:1.9.2.14) Gecko/20110218 Firefox/3.6.14' & @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-Encoding: gzip,deflate' & @CRLF & _
'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7' & @CRLF & _
'Keep-Alive: 115' & @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
If $msg=1 Then
MsgBox(0,"hallo welt",$sPacket)
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 ;==>TCPRequest1
Func TCPRequest2($sIp, $sHost, $msg=1, $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 6.1; de; rv:1.9.2.14) Gecko/20110218 Firefox/3.6.14' & @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-Encoding: gzip,deflate' & @CRLF & _
'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7' & @CRLF & _
'Keep-Alive: 115' & @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
If $msg=1 Then
MsgBox(0,"hallo welt",$sPacket)
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 ;==>TCPRequest2
Func Change($string)
$string = StringReplace($string, "%", "%25")
$string = StringReplace($string, "†", "%E2%80%A0")
$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, " ", "+")
$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")
Return $string
EndFunc ;==>Change
auf der startseite gibt es keinen 'Content-Type: application/x-www-form-urlencoded'
deshalb hab ich TCPRequest1 und 2 einmal mit und einmal ohne (ich weiß, das lässt sich auch schöner lösen, aber auf die schnelle sollte es so gehen).
und ich sende genau das GET packet, was ich auch im live header auslese.
es funktioniert aber leider immer noch nicht. habe mir dann die source mal als msgbox ausgeben lassen und dann kriege ich sowas:
|
|
|
03/06/2011, 22:26
|
#180
|
elite*gold: 0
Join Date: Mar 2011
Posts: 35
Received Thanks: 5
|
ich hoffe ich bin nicht zu ungeduldig
ich find's ja schon super, dass ich es mit dem TUT überhaupt soweit geschafft habe, aber eigentlich bin ich davon ausgegangen, dass brokenspace einfacher zu automatisieren ist als z.b. ogame. weil brokenspace egtl schon ziemlich alt ist und nicht mehr wirklich überarbeitet wurde und ja auch nicht so gut besucht ist wie ogame oder ähnliches.
aber scheinbar scheint es ja doch etwas komplexer strukturiert zu sein. kommt man jetzt gar nicht durch den login? 
ich denke, wenn man den einmal hat, dürfte es ja nicht mehr so schwer sein.
|
|
|
Similar Threads
|
Browsergamebots legal?
05/19/2010 - General Coding - 12 Replies
Hallo,
ich habe hier im Forum schon öfters gesehen, wie mitglieder bots (für browsergames) gepostet haben und nach einiger zeit wurden deren themen gelöscht/geschlössen, weil sie angeblich urherberrechtsverletzung begangen haben.
http://www.elitepvpers.com/forum/browsergames/5237 95-myfreefarm-bot.html
Ich habe schon sehr viele google seiten durchwälzt und keine antwort auf meine fragen gefunden, deswegen stelle ich sie hier mit der hoffung eine antwort zu finden.
"Ab wann ist ein...
|
AutoIt Tutorial
01/01/2008 - Dekaron - 2 Replies
Hey, smokedoo or someone out there who created bot and stuff like that, can you please post up a tutorial or vid on how to make at least the most simplest bot out there please. I know there are ppl like me that would just love to know. Thanks!
|
All times are GMT +1. The time now is 19:35.
|
|