#Region
#AutoIt3Wrapper_icon=wf.ico
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_Res_Description=.
#AutoIt3Wrapper_Res_Fileversion=0.0.0.1
#AutoIt3Wrapper_Res_LegalCopyright=D
#AutoIt3Wrapper_Res_Language=1049
#AutoIt3Wrapper_Res_ProductVersion=0.1
#EndRegion
#NoTrayIcon
#include <String.au3>
Global $Domain = "*",$Login = "*",$Password = "*", $Data = "", $Game
_Start()
_Login()
_Connect()
Run($Game&"\Bin32Release\Game.exe --shard_id=2 +online_server s2.warface.ru -uid "&$Data[0]&" -token "&$Data[1])
Func _Login()
Local $lFile
If FileExists(@ScriptDir&'\wfl.ini') Then
$lFile = FileOpen(@ScriptDir&'\wfl.ini')
$Domain = FileReadLine(@ScriptDir&'\wfl.ini',1)
$Login = FileReadLine(@ScriptDir&'\wfl.ini',2)
$Password = FileReadLine(@ScriptDir&'\wfl.ini',3)
FileClose($lFile)
If $Domain = "*" Or $Login = "*" Or $Password = "*" Then mb("Ошибка чтения информации пароля")
Else
Local $GUI,$OK,$Check
$GUI = GUICreate("WF стартер", 270, 250)
GUISetFont(16,800)
GUICtrlCreateLabel("Введите информацию:", 10, 10, 270, 30)
$Domain = GUICtrlRead(GUICtrlCreateInput("Домен (mail.ru)", 30,40,200,30))
$Login = GUICtrlRead(GUICtrlCreateInput("Логин (vasya)", 30,80,200,30))
$Password = GUICtrlRead(GUICtrlCreateInput("Пароль", 30,120,200,30))
$Check = GUICtrlCreateCheckbox("Сохранить пароль",20,160,270,30)
$OK = GUICtrlCreateButton("Поехали",30,200,200,30)
GUISetBkColor(0xFFFFFF)
GUISetState(@SW_SHOW, $GUI)
While 1
Switch GUIGetMsg()
Case $OK
If GUICtrlRead($Check) = 1 Then FileWrite(@ScriptDir&'\wfl.ini',$Domain&@CRLF&$Login&@CRLF&$Password)
GUIDelete($GUI)
ExitLoop
Case -3
GUIDelete($GUI)
Exit
EndSwitch
WEnd
EndIf
$Data = "Domain="&$Domain&"&Login="&$Login&"&Password="&$Password&"&new_auth_form=1&saveauth=1"
EndFunc
Func _Connect()
Local $oHTTP = ObjCreate('WinHttp.WinHttpRequest.5.1')
$oHTTP.Open("POST", "https://auth.mail.ru/cgi-bin/auth")
$oHTTP.setTimeouts(5000, 5000, 15000, 15000)
$oHTTP.SetRequestHeader("Accept", "*/*")
$oHTTP.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
$oHTTP.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.86 Safari/537.36")
$oHTTP.SetRequestHeader("Content-Length", StringLen($Data))
$oHTTP.SetRequestHeader("Accept-Language", "ru")
$oHTTP.SetRequestHeader("Connection", "Keep-alive")
$oHTTP.SetRequestHeader("Pragma", "no-cache")
$oHTTP.Send($Data)
$oHTTP.WaitForResponse
Local $Headers = $oHTTP.GetAllResponseHeaders()
Local $Mpop = _StringBetween($Headers, "Mpop=",";")
If @error Then mb("ошибка авторизации")
$Data = '<?xml version="1.0" encoding="UTF-8"?><AutoLogin ProjectId="1177" SubProjectId="0" ShardId="2" Mpop="'&$Mpop[0]&'"/>'
$oHTTP.Open("POST", "https://authdl.mail.ru/sz.php?hint=AutoLogin")
$oHTTP.setTimeouts(5000, 5000, 15000, 15000)
$oHTTP.SetRequestHeader("User-Agent", "Downloader/4010")
$oHTTP.SetRequestHeader("Content-Length", StringLen($Data))
$oHTTP.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
$oHTTP.Send($Data)
$oHTTP.WaitForResponse
Local $RespData = $oHTTP.ResponseText()
ConsoleWrite(@CRLF&$RespData&@CRLF)
Local $t[2]
$Mpop = _StringBetween($RespData, 'AutoLogin PersId="','"')
If @error Then mb("ошибка запроса")
$t[0] = $Mpop[0]
$Mpop = _StringBetween($RespData, 'Key="','"')
If @error Then mb("ошибка запроса")
$t[1] = $Mpop[0]
$Data = $t
EndFunc
Func _Start()
$Game = RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\Warface", "InstallLocation")
If @error Then
$Game = FileOpenDialog("Укажите файл игры", @ScriptDir&'\', "WarFace (game.exe)")
If @error Then mb("Файл игры не выбран")
EndIf
EndFunc
Func mb($err="")
MsgBox(0,"Ошибка",$err)
Exit
EndFunc