Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding > Coding Tutorials
You last visited: Today at 19:33

  • Please register to post and access all features, it's quick, easy and FREE!

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.

Reply
 
Old 12/05/2010, 00:02   #166
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by atakon View Post
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.
Shadow992 is offline  
Old 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
-Nò_óNê- is offline  
Thanks
1 User
Old 01/07/2011, 13:10   #168
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by -Nò_óNê- View Post
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.
Shadow992 is offline  
Old 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.
-Nò_óNê- is offline  
Old 01/13/2011, 18:41   #170
 
tompage's Avatar
 
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...
tompage is offline  
Old 01/15/2011, 17:25   #171
 
Qx3cP's Avatar
 
elite*gold: 0
Join Date: Aug 2010
Posts: 153
Received Thanks: 32
Quote:
Originally Posted by -Nò_óNê- View Post
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)
Qx3cP is offline  
Old 02/06/2011, 19:26   #172
 
B.o.n.g's Avatar
 
elite*gold: 0
Join Date: Jan 2011
Posts: 162
Received Thanks: 11
Schade alter , das du nix mehr machst
B.o.n.g is offline  
Old 02/09/2011, 04:13   #173
 
elite*gold: 0
Join Date: Feb 2010
Posts: 41
Received Thanks: 5
Thumbs up

@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 454648-5765 To 909597 To 122126
                $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()...
theboegl is offline  
Old 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(10"")
    
$iSocket TCPConnect($sIp80)
    If @
error Then Return SetError(20"")
    
TCPSend($iSocket$sPacket)
    If @
error Then Return SetError(30"")
    
$iTimer TimerInit()
    Do
        
$sRecv TCPRecv($iSocket1024)
        If 
TimerDiff($iTimer) > $iMaxTime Then Return SetError(40"")
    
Until $sRecv <> ""
    
Do
        
$sRecv &= TCPRecv($iSocket1024)
    
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 
testaccount34 is offline  
Old 03/05/2011, 12:32   #175
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by testaccount34 View Post
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(10"")
    
$iSocket TCPConnect($sIp80)
    If @
error Then Return SetError(20"")
    
TCPSend($iSocket$sPacket)
    If @
error Then Return SetError(30"")
    
$iTimer TimerInit()
    Do
        
$sRecv TCPRecv($iSocket1024)
        If 
TimerDiff($iTimer) > $iMaxTime Then Return SetError(40"")
    
Until $sRecv <> ""
    
Do
        
$sRecv &= TCPRecv($iSocket1024)
    
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!
Shadow992 is offline  
Thanks
2 Users
Old 03/05/2011, 15:27   #176
 
elite*gold: 0
Join Date: Mar 2011
Posts: 35
Received Thanks: 5
Quote:
Originally Posted by Shadow992 View Post
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(10"")
    
$iSocket TCPConnect($sIp80)
    If @
error Then Return SetError(20"")
    
TCPSend($iSocket$sPacket)
    If @
error Then Return SetError(30"")
    
$iTimer TimerInit()
    Do
        
$sRecv TCPRecv($iSocket1024)
        If 
TimerDiff($iTimer) > $iMaxTime Then Return SetError(40"")
    
Until $sRecv <> ""
    
Do
        
$sRecv &= TCPRecv($iSocket1024)
    
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 
testaccount34 is offline  
Old 03/05/2011, 15:58   #177
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
Quote:
Originally Posted by testaccount34 View Post
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(10"")
    
$iSocket TCPConnect($sIp80)
    If @
error Then Return SetError(20"")
    
TCPSend($iSocket$sPacket)
    If @
error Then Return SetError(30"")
    
$iTimer TimerInit()
    Do
        
$sRecv TCPRecv($iSocket1024)
        If 
TimerDiff($iTimer) > $iMaxTime Then Return SetError(40"")
    
Until $sRecv <> ""
    
Do
        
$sRecv &= TCPRecv($iSocket1024)
    
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
Shadow992 is offline  
Old 03/05/2011, 18:32   #178
 
AlphaZerο's Avatar
 
elite*gold: 150
Join Date: Mar 2011
Posts: 13,411
Received Thanks: 4,377
Super ausführlich. Vielen, vielen Dank!
AlphaZerο is offline  
Old 03/05/2011, 22:12   #179
 
elite*gold: 0
Join Date: Mar 2011
Posts: 35
Received Thanks: 5
Quote:
Originally Posted by Shadow992 View Post
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(10"")
    
$iSocket TCPConnect($sIp80)
    If @
error Then Return SetError(20"")
    
TCPSend($iSocket$sPacket)
    If @
error Then Return SetError(30"")
    
$iTimer TimerInit()
    Do
        
$sRecv TCPRecv($iSocket1024)
        If 
TimerDiff($iTimer) > $iMaxTime Then Return SetError(40"")
    
Until $sRecv <> ""
    
Do
        
$sRecv &= TCPRecv($iSocket1024)
    
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(10"")
    
$iSocket TCPConnect($sIp80)
    If @
error Then Return SetError(20"")
    
TCPSend($iSocket$sPacket)
    If @
error Then Return SetError(30"")
    
$iTimer TimerInit()
    Do
        
$sRecv TCPRecv($iSocket1024)
        If 
TimerDiff($iTimer) > $iMaxTime Then Return SetError(40"")
    
Until $sRecv <> ""
    
Do
        
$sRecv &= TCPRecv($iSocket1024)
    
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:

testaccount34 is offline  
Old 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.
testaccount34 is offline  
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.