|
You last visited: Today at 08:27
Advertisement
Browsergame Bot trotz HTTPS bzw "urlencoded"
Discussion on Browsergame Bot trotz HTTPS bzw "urlencoded" within the AutoIt forum part of the Coders Den category.
07/10/2017, 23:27
|
#1
|
elite*gold: 115
Join Date: Feb 2009
Posts: 353
Received Thanks: 44
|
Browsergame Bot trotz HTTPS bzw "urlencoded"
Hallo!
Ich wollte mich nun nach einiger Zeit wiedereinmal ans Programmieren wagen und etwas neues testen...
Daher habe ich mir Shadows altes aber gutes Tutorial geschnappt und wollte mir einen Packetbot für ein Browsergame basteln..
Alles nach Anleitung gemacht und hat auch alles gepasst, nur habe ich nun das Problem (ich vermute dass das Problem hierrin liegt), dass heutzutage so gut wie alle Browsergame Websites HTTPS verwenden...
Wenn ich lt. Tutorial versuche mit dem Bot zu verbinden, bekomme ich leider nur die Meldung "Moved Permanently"
Jetzt ist es die Frage ob es immernoch eine Möglichkeit gibt, dennoch zu verbinden, oder müsste man hierzu zuerst die Verschlüsselung "knacken"?
Mein Code bisher(sieht logischerweise fast gleich aus wie im Tutorial nur für ein anderes Browsergame):
PHP Code:
#include<String.au3>
$name=InputBox("Accountname","Gib deinen Accountnamen ein")
$passwort=InputBox("Passwort","Gib dein Passwort ein")
TCPStartup()
$ip = TCPNameToIP('de.forgeofempires.com')
TCPShutdown()
$post='login%5Buserid%5D='&Change($name)&'&login%5Bpassword%5D='&Change($passwort)&'&login%5Bremember_me%5D=false'
$source=TCPRequest($ip,'de.forgeofempires.com',0, "glps/login_check",$post, "", 'https://de.forgeofempires.com/glps/iframe-login')
$cookies=GetCookies($source)
MsgBox(0,"Testsource",$source)
MsgBox(0,"Testpost",$post)
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=0, $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
If $msg=1 Then
MsgBox(0,"Packet",$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
Ansonsten kenne ich mich in AutoIt einigermaßen gut aus nur habe ich noch nie einen Packet Bot gemacht!
Würde mich sehr über eine Antwort freuen!
lg Memphiisto
Edit: 11.07.2017
Hier im Anhang noch ein Bild des Post Packages wenn ich mich über Firefox anmelde..
|
|
|
07/11/2017, 12:27
|
#2
|
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,878
|
Ja das Problem liegt ziemlich sicher in SSL.
Allgemein sind die Funktionen mittlerweile ziemlich "veraltet", weil etliche aktuelle Sachen nicht beachtet werden.
Schnapp dir stattdessen lieber WinHTTP oder etwas aehnliches:
Hier indirekt ein kleines Beispiel:
Sieht zwar auf den ersten Blick etwas komisch aus, aber im prinzip bleiben natuerlich die Grundideen des Tutorials bestehen.
|
|
|
07/12/2017, 17:01
|
#3
|
elite*gold: 115
Join Date: Feb 2009
Posts: 353
Received Thanks: 44
|
Quote:
Originally Posted by Shadow992
Ja das Problem liegt ziemlich sicher in SSL.
Allgemein sind die Funktionen mittlerweile ziemlich "veraltet", weil etliche aktuelle Sachen nicht beachtet werden.
Schnapp dir stattdessen lieber WinHTTP oder etwas aehnliches:
Hier indirekt ein kleines Beispiel:
Sieht zwar auf den ersten Blick etwas komisch aus, aber im prinzip bleiben natuerlich die Grundideen des Tutorials bestehen.
|
Hallo!
Zunächst einmal vielen Dank für die schnelle Antwort! 
Ich dachte mir ich teste jetzt einmal einige Zeit ob ich es selbst her bekomme, bevor ich wieder Sinnlos Antworte und um Code bettle...
Ich bin so weit gekommen, dass ich den ersten Schritt weiter bin... Allerdings nur dann, wenn ich bereits einen Tab offen habe in welchem ich eingeloggt bin...
Verwende jetzt die WinHTTP.au3...
Habe schon ca 20 verschiedene Arten getestet und auch versucht komplett ohne UDF zu verbinden, aber ich krig es irgendwie nicht gebacken dass sich das verdammte Ding einloggt...
Der Get und der Filewrite waren kein Problem... nach dem öffnen wird mir die Seite angezeigt...
Wenn ich mich dann mit dem Post einlogge (Filewrite danach wieder zum überprüfen) bekomme ich wenn ich die Html öffne nur wieder die gleiche Seite mit einem schwarzen halbdurchsichtigen Layer darüber...
Ich habe zwar die verschiedensten Arten getestet aber der letzte versuch sah wie folgt aus:
(Eine der kürzesten Varianten welche ich bisher getestet habe... die längste war ca 150 Zeilen Lang nur der Login...)
PHP Code:
#include <WinHTTP.au3>
$hSession= _WinHttpOpen('User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0')
$hConnect= _WinHttpConnect($hSession, 'de0.forgeofempires.com')
$html= _WinHttpSimpleSSLRequest($hConnect, "Post", "glps/login_check HTTP/1.1", "de.forgeofempires.com", "login%5Buserid%5D=USERNAME&login%5Bpassword%5D=PASSWORD&login%5Bremember_me%5D=false")
FileWrite("Loginmenu.html", $html)
Ich weiß nicht was ich falsch mache, oder was mir noch fehlt...
Muss ich eventuell irgendwie selbst von Hand die Cookies hinterlegen?
Zum Verständnis noch die Schritte die zum Login benötigt werden und wie das im Live HTTP Headers aussieht...:
- Auf
Navigieren
- Username und Passwort Eintragen und auf "Login" klicken
- Auf "Spielen klicken"
- Nachdem auf Spielen geklickt wurde geht ein neues Fenster auf... dort muss der Server ausgewählt werden.
Live HTTP Headers:
"Login":
https://de.forgeofempires.com/glps/login_check
POST /glps/login_check HTTP/1.1
Host: de.forgeofempires.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0
Accept: application/json, text/plain, */*
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
X-XSRF-TOKEN: KGCBEvQVDfu1FWhd-_8al9cHIEe_rcPit18ypGkeClg
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: 
Content-Length: 93
Cookie: device_view=full; metricsUvId=221fc49a-b507-4096-8f93-6898666054e4; portal_tid=1499700088954-51156; portal_data=portal_tid=1499700088954-51156&portal_ref_url=https://de0.forgeofempires.com/page/&portal_ref_session=1; _ga=GA1.2.1042855722.1499701065; _gid=GA1.2.756424591.1499701065; startup_microtime=1499869010757; ig_conv_last_site=https://de6.forgeofempires.com/game/index; portal_ref_url=https://de0.forgeofempires.com/page/; PHPSESSID=1pkci6tbmql7bjvuv49aquhju7; XSRF-TOKEN=KGCBEvQVDfu1FWhd-_8al9cHIEe_rcPit18ypGkeClg; glps_exp_dc=ag678a; portal_ref_session=1
Connection: keep-alive
login%5Buserid%5D=USERNAME&login%5Bpassword%5D=PAS SWORD&login%5Bremember_me%5D=false
Spielen "klick":
https://de0.forgeofempires.com/start/index?action=fetch_worlds_for_login_page
POST /start/index?action=fetch_worlds_for_login_page HTTP/1.1
Host: de0.forgeofempires.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0
Accept: text/plain, */*; q=0.01
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: 
Content-Length: 9
Cookie: metricsUvId=221fc49a-b507-4096-8f93-6898666054e4; cid=1209360099; _ga=GA1.2.1042855722.1499701065; _gid=GA1.2.756424591.1499701065; startup_microtime=1499869010757; ig_conv_last_site=https://de6.forgeofempires.com/game/index; mid=rmsErzd9N8mBfTVQbZTqlygN75PkQgov_5PK5-Qs
Connection: keep-alive
json=null
Serverauswahl "klick":
https://de0.forgeofempires.com/start/index?action=play_now_login
POST /start/index?action=play_now_login HTTP/1.1
Host: de0.forgeofempires.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:54.0) Gecko/20100101 Firefox/54.0
Accept: text/plain, */*; q=0.01
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: 
Content-Length: 37
Cookie: metricsUvId=221fc49a-b507-4096-8f93-6898666054e4; cid=1209360099; _ga=GA1.2.1042855722.1499701065; _gid=GA1.2.756424591.1499701065; startup_microtime=1499871237926; ig_conv_last_site=https://de6.forgeofempires.com/game/index; mid=rmsErzd9N8mBfTVQbZTqlygN75PkQgov_5PK5-Qs
Connection: keep-alive
json=%7B%22world_id%22%3A%22de6%22%7D
Würde mich sehr freuen nochmals etwas hilfe zu bekommen
Vielen dank!
Lg Memphisto
|
|
|
Similar Threads
|
WEAPONSCRIPT!!!!!!!!!!!!!!!!!!!!!!!!!HOT"""""""""" """""""""""""""""""""
08/06/2011 - WarRock Hacks, Bots, Cheats & Exploits - 7 Replies
detetected
|
"""HOT""" SpeedHack """HOT"""
10/13/2010 - Metin2 Hacks, Bots, Cheats, Exploits & Macros - 14 Replies
Hallo Leute.
Ich habe mit überlegt einen kleinen Speedhack zu machen der leicht verständlich ist und sehr leicht an zu passen ist.
Beim starten der Exe öffnet sich ein Fenster wo euch Folgende Bereiche erwarten.
-Hack starten
-Hack pausieren
-Hack beenden
-Schnelligkeit zuweisen*
|
All times are GMT +1. The time now is 08:27.
|
|