#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <GDIPlus.au3>
#include <WinHTTP.au3>
#include <IE.au3>
#Include <String.au3>
Global $oForm, $oIE, $oQuery4, $captcha, $sub = 0,$o10m
$eRand = Random(50000,50000000,1)
$emailRand = $eRand&"@pjjkp.com"
$email = $emailRand
Opt("GUIOnEventMode", 1)
InetGet("http://img263.imageshack.us/img263/626/logohkn.jpg",@TempDir & "logo.jpg")
$hGUI999 = GUICreate("DoDo1997 / AccountCreator", 260, 378)
GUISetBkColor(0xFFFF00)
GUISetState()
GUISetOnEvent($GUI_EVENT_CLOSE, "_OnEventHandler")
$gplogo = GUICtrlCreatePic(@TempDir & "logo.jpg",20,0,0,0)
GUICtrlSetCursor ($gplogo, 0)
GUICtrlSetOnEvent($gplogo,"gp")
$Group1 = GUICtrlCreateGroup("Account Daten", 8, 70, 241, 90)
GUICtrlCreateLabel("Username:", 15,86, 50,12)
$Input1 = GUICtrlCreateInput("", 70, 84, 173, 21)
GUICtrlCreateLabel("Passwort:", 15,110, 50, 12)
$Input2 = GUICtrlCreateInput("", 70, 108, 173, 21)
GUICtrlCreateLabel("E-mail:", 15,135, 28, 12)
$Input3 = GUICtrlCreateInput("", 70, 132, 173, 21)
$checkb = GUICtrlCreateCheckbox("",50,135,15,15)
GUICtrlSetOnEvent($checkb,"checkbox")
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Group2 = GUICtrlCreateGroup("Captcha", 0, 168, 257, 110)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button1 = GUICtrlCreateButton("Absenden", 16, 352, 225, 25)
GUICtrlSetOnEvent($Button1, "_OnEventHandler")
$Input4 = GUICtrlCreateInput("Captcha", 16, 252, 217, 21, BitOR($ES_CENTER, $ES_AUTOHSCROLL))
$Group3 = GUICtrlCreateGroup("Status", 16, 280,217, 65)
$Label1 = GUICtrlCreateLabel("Keine Fehler", 96, 290, 100, 50)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUISetState(@SW_SHOW)
GUICtrlSetState($Input3, $GUI_DISABLE)
While 1
Sleep(1000)
WEnd
Func _OnEventHandler()
Switch @GUI_CtrlId
Case -3
FileDelete(@TempDir & "logo.bmp")
Exit
Case $Button1
_Register($sub)
EndSwitch
EndFunc ;==>_OnEventHandler
Func _Register(ByRef $iGotCaptcha)
Local Static $hSession, $hConnect
Local $sHTML, $hRequest, $bRecv, $hFile
If StringIsAlNum (GUICtrlRead($Input1)) = 0 Then
GUICtrlSetData($Label1,"Benutzername darf nur Ziffern von 0-9 und Zeichen von A-Z enthalten")
return
Else
GUICtrlSetData($Label1,"Benutzername: Okay!")
EndIf
If StringLen (GUICtrlRead($Input1)) < 5 or StringLen (GUICtrlRead($Input1)) > 16 Then
GUICtrlSetData($Label1,"Es sind nur 5-16 Zeichen im Benutzernamen erlaubt!")
return
Else
GUICtrlSetData($Label1,"Benutzername: Okay!")
Sleep(1000)
EndIf
If GUICtrlRead($checkb) = $GUI_UNCHECKED Then
GUICtrlSetData($Label1,"Email: Okay!")
$email = $emailRand
GUICtrlSetData($Input3,$emailRand)
Sleep(1000)
Else
If StringRegExp(GUICtrlRead($Input3),"\w+@\w+.\w+",2) = 1 Then
GUICtrlSetData($Label1,"Ungültige Email!")
return
Else
GUICtrlSetData($Label1,"Email: Okay!")
$email = GUICtrlRead($Input3)
Sleep(1000)
EndIf
EndIf
if StringIsAlNum (GUICtrlRead($Input2)) = 0 Then
GUICtrlSetData($Label1,"Passwort darf nur Ziffern von 0-9 und Zeichen von A-Z enthalten. ")
Return
EndIf
If StringIsAlpha(GUICtrlRead($Input2)) = 1 or StringIsInt(GUICtrlRead($Input2)) = 1 Then
GUICtrlSetData($Label1,"Passwort muss mindestens eine Zhal und einen Buchstaben enthalten.")
return
Else
GUICtrlSetData($Label1,"Passwort: Okay!")
EndIf
If StringLen (GUICtrlRead($Input2)) < 8 or StringLen (GUICtrlRead($Input2)) > 16 Then
GUICtrlSetData($Label1,"Es sind nur 8-16 Zeichen im Passwort erlaubt!")
return
Else
GUICtrlSetData($Label1,"Passwort: Okay!")
Sleep(1000)
EndIf
If $iGotCaptcha Then
$sHTML = _WinHTTPRequest($hConnect, "/user/register", "reg%5Busername%5D=" & GUICtrlRead($Input1) & "®%5Bemail%5D=" & $email & "®%5Bpassword%5D=" & GUICtrlRead($Input2) & "®%5Bagb%5D=1&captcha=" & GUICtrlRead($Input4) & "&SubmitRegisterForm=Anmelden")
_WinHttpCloseHandle($hConnect)
_WinHttpCloseHandle($hSession)
FileDelete(@TempDir & "\~captcha.png")
FileDelete(@TempDir & "\~captcha.jpg")
_d($sHTML)
If GUICtrlRead($checkb) = $GUI_UNCHECKED Then
Mail()
Else
MsgBox(0,"Nostale Account Creator","Bestätigungsmail verschickt! Name: " & GUICtrlRead($Input1) & " Email: " & $email & " Passwort: " & GUICtrlRead($Input2) & "")
Exit
EndIf
Else
$hSession = _WinHttpOpen()
$hConnect = _WinHTTPConnect($hSession, "www.nostale.de")
_WinHTTPRequest($hConnect, "/user/register")
_WinHTTPRequest($hConnect, "/user/register", "reg%5Busername%5D=" & GUICtrlRead($Input1) & "®%5Bemail%5D=" & GUICtrlRead($Input3) & "®%5Bpassword%5D=" & GUICtrlRead($Input2) & "®%5Bagb%5D=1&SubmitRegisterForm=Anmelden")
;Captcha binär herunterladen
$hRequest = _WinHttpOpenRequest($hConnect, "GET", "/captcha/create", "HTTP/1.1", "http://www.nostale.de/user/register")
_WinHttpSendRequest($hRequest)
_WinHttpReceiveResponse($hRequest)
If _WinHttpQueryDataAvailable($hRequest) Then
Do
$bRecv &= _WinHttpReadData($hRequest, 2)
Until @error
EndIf
_WinHttpCloseHandle($hRequest)
;In Datei Speichern
$hFile = FileOpen(@TempDir & "\~captcha.png", 18)
FileWrite($hFile, $bRecv)
FileClose($hFile)
;zu jpg umwandeln
_GDIPlus_Startup()
_GDIPlus_ImageSaveToFile(_GDIPlus_ImageLoadFromFil e(@TempDir & "\~captcha.png"),@TempDir & "\~captcha.jpg")
_GDIPlus_Shutdown()
GUICtrlCreatePic(@TempDir & "\~captcha.jpg",8,190,0,0)
$iGotCaptcha = 1
EndIf
EndFunc ;==>_Register
; #FUNCTION# ================================================== ====================================
; Name ..........: _WinHTTPRequest()
; Description ...: Easier use of WinHTTP. Handles your HTTP/HTTPs Request
; Syntax ........: _WinHTTPRequest($hConnect, $sSite[, $sPost = ""[, $sReferer = ""[, $sExtraHeader = ""[, $fUseHTTPS = False[, $sAcceptType = ""[, $fGetHeaderOnly = False]]]]]])
; Parameters ....: $hConnect - Handle returned from _WinHTTPConnect()
; $sSite - Page to send the request to, starting with a "/"
; $sPost - [optional] Postdata to send. If this parameter is used, _WinHTTPRequest will do a POST instead of GET (default:"")
; $sReferer - [optional] Referer to use. Use the format
[Only registered and activated users can see links. Click Here To Register...]. (default:"")
; $sExtraHeader - [optional] Use this parameter to add certain Infos to your Request Headers (default:"")
; $fUseHTTPS - [optional] This flag indicates wether you want to use HTTPs or not (default:False)
; $sAcceptType - [optional] See _WinHTTPOpenRequest() (default:"")
; $fGetHeaderOnly - [optional] This flag indicates wether you want to retrieve Headers or not. (default:False)
; |False - Do not recieve Headers - Just get the Body
; |True - Recieve Headers only
; |-1 - Get both, Headers and Body
; Return values .: Success - Returns Body and/or Header, depending on $fGetHeaderOnly
; Failure - Returns 0
; Author ........: SEuBo
; Remarks .......: If you get an empty String as return, check the Header for a 302 Message from the server
; Example .......: Yes
; #include <WinHTTP.au3>
; #include "WinHTTPRequest.au3"
; $hSession = _WinHttpOpen() ; Open Session
; $hConnect = _WinHTTPConnect($hSession,"www.google.de") ; Connect to host
; _WinHTTPRequest($hConnect,"/imghp") ; GET-Request
; _WinHttpCloseHandle($hConnect) ; Close Connect
; _WinHttpCloseHandle($hSession) ; Close Session
; ================================================== ===============================================
Func _WinHTTPRequest($hConnect, $sSite, $sPost = "", $sReferer = "", $sExtraHeader = "", $fUseHTTPS = False, $sAcceptType = "", $fGetHeaderOnly = False)
;Author: SEuBo
Local $hRequest, $sHTML, $sMode = "GET", $sOptional = $WINHTTP_NO_REQUEST_DATA, $sHeaders = $WINHTTP_NO_ADDITIONAL_HEADERS, _
$sAcceptTypes = $WINHTTP_DEFAULT_ACCEPT_TYPES, $iFlags = $WINHTTP_FLAG_ESCAPE_DISABLE, $sReferers = $WINHTTP_NO_REFERER
If $sPost <> "" Then
$sMode = "POST"
$sOptional = $sPost
$sHeaders = "Content-Type: application/x-www-form-urlencoded" & @CRLF
EndIf
If $sReferer Then $sReferers = $sReferer
If $sExtraHeader Then $sHeaders = $sExtraHeader
If $fUseHTTPS Then $iFlags = $WINHTTP_FLAG_SECURE
If $sAcceptType Then $sAcceptTypes = $sAcceptType
ConsoleWrite("WinHTTP Request <<< " & $sMode & " >>> ===========> " & $sSite & @TAB & @TAB & $sPost & @CRLF)
$hRequest = _WinHttpOpenRequest($hConnect, $sMode, $sSite, "HTTP/1.1", $sReferers, $sAcceptTypes, $iFlags) ; Anfrage an die Seite stellen
_WinHttpSendRequest($hRequest, $sHeaders, $sOptional) ; Anfrage senden.
_WinHttpReceiveResponse($hRequest) ; Warte auf Antwort des Servers
If _WinHttpQueryDataAvailable($hRequest) Then
If $fGetHeaderOnly Then
$sHTML &= _WinHttpQueryHeaders($hRequest)
If $fGetHeaderOnly > -1 Then _WinHttpCloseHandle($hRequest)
If $fGetHeaderOnly > -1 Then Return $sHTML
$sHTML &= @CRLF & @CRLF
EndIf
Do
$sHTML &= _WinHttpReadData($hRequest) ; Antwort aus dem Buffer lesen.
Until @error ; bis ein fehler auftritt (übertragung abgeschlossen)
_WinHttpCloseHandle($hRequest)
Return $sHTML
EndIf
Return 0
EndFunc ;==>_WinHTTPRequest
Func _d($sHTML)
FileDelete(@TempDir & "\~debug.html")
FileWrite(@TempDir & "\~debug.html", $sHTML)
ShellExecute(@TempDir & "\~debug.html")
EndFunc ;==>_d
#cs
Func errorCheck()
$hDownload = InetRead("http://www.nostale.de/user/register")
$miep = BinaryToString($hDownload)
$error_string = StringRegExp ($miep, '<div class="error">(.*?)</div>' , 1 )
EndFunc
#ce
Func gp()
ShellExecute("www.**************")
EndFunc
Func checkbox()
If GUICtrlRead($checkb) = $GUI_UNCHECKED Then
GUICtrlSetState($Input3, $GUI_DISABLE)
Else
GUICtrlSetState($Input3, $GUI_ENABLE)
EndIf
EndFunc
Func Mail()
$IE = _IECreate("http://www.mailinator.com/maildir.jsp?email="&$emailRand,0,0)
GUICtrlSetData($Label1,"Browser geöffnet!")
sleep(1000)
Do
Sleep (5000)
_IEAction($IE,"refresh")
$Text = _IEBodyReadText($IE)
GUICtrlSetData($Label1,"Warte auf email!")
Until StringRegExp($Text, "Willkommen bei NosTale!")
GUICtrlSetData($Label1,"Link_1 gefunden!")
sleep(1000)
$Text = BinaryToString(InetRead("http://10minutemail.com/10MinuteMail/"&$emailRand,1))
$msgid = _StringBetween($Text,"href=/displayemail.jsp?email="&$eRand&"&msgid=",">Willko mmen bei ")
_IENavigate($IE,"http://10minutemail.com/10MinuteMail/read.html?cid="&$eRand&"&msgid="&$msgid[0])
_IELoadWait($IE)
GUICtrlSetData($Label1,"Link_2 gefunden!")
$Text2 = _IEBodyReadText($IE)
sleep(1000)
$Link = StringRegExp($Text2,"http://www\.nostale\.de/user/authenticated/\w+/\w+",3)
GUICtrlSetData($Label1,"Bestätigunglink gefunden!")
sleep(1000)
_IEQuit($IE)
$akti = _IECreate($Link[0],0,1)
GUICtrlSetData($Label1,"Account automatisch aktiviert!")
sleep(1000)
MsgBox(0,"Nostale Account Creator","Account Aktiviert! Name: " & GUICtrlRead($Input1) & " Email: " & $email & " Passwort: " & GUICtrlRead($Input2) & "")
Exit
EndFunc