Что нового

[WarFace] разработка лаунчера

Dellroc

Осваивающий
Сообщения
151
Репутация
31
Подскажите как заснифить запросы с игрового центра майла для создания лаунчера?
Запрос для архиэйдж я нашёл в интете
Код:
<?xml version="1.0" encoding="UTF-8"?><AutoLogin ProjectId="3001" SubProjectId="0" ShardId="0" Mpop="бла бла"/>
, а для WF не могу понять как его отловить. Отправляет он его на вот этот адресс
https://authdl.mail.ru/sz.php?hint=AutoLogin
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Re: [Сеть, интернет] WarFace разработка лаунчера

Взять сниффер и засниффить...
Есть как дополнения к браузеру, так и отдельные решения...
 
Автор
D

Dellroc

Осваивающий
Сообщения
151
Репутация
31
Re: [Сеть, интернет] WarFace разработка лаунчера

alex33 сказал(а):
Взять сниффер и засниффить...
Есть как дополнения к браузеру, так и отдельные решения...
Спасибо, но я это и так знаю. Помогли бы конкретные примеры программ или способов.
 
Автор
D

Dellroc

Осваивающий
Сообщения
151
Репутация
31
Спасибо. Разобрался с прогой HTTP Analyzer.
Допишу ланчер и выложу.
UPD:
Суть идеи: запуск по расписанию без лишней эмуляции действий.
Код:
#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
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,608
Репутация
941
Предупреждение За нарушение общих правил (пункт В.2):
Старайтесь избегать “Over quoting” (преувеличенное цитирование) - цитируйте только необходимую часть сообщения, которая наилучшим образом подчеркнёт суть цитируемого.


С уважением, ваш Модератор.
 
Автор
D

Dellroc

Осваивающий
Сообщения
151
Репутация
31
Ещё к этой же теме. Хочу сделать автоапдейт. Нашёл что он скачивает, но не могу понять что с этим делать. Может кто подскажет
Ссылка на торрент с патчем:
http://static.dl.mail.ru/torrents/warfacediff76-77.torrent
Не понятно содержимое архива patch.7z.001
 
Автор
D

Dellroc

Осваивающий
Сообщения
151
Репутация
31
Определил две библиотеки отвечающие за обновление (bigup2.dll и lightupdate.dll). Теперь ищу как их использовать.
Биг имеет такие параметры
BigUp_AddPackage(char const *,char const *,void *,uint,void *,uint,bool,uint,int,void *)
BigUp_CalcContentSign(x,x)
BigUp_Finish()
BigUp_GetActiveTorrents()
BigUp_GetLastErrorCode()
BigUp_GetLastErrorWhat()
BigUp_GetNetworkParams(x)
BigUp_GetPackagesInfo()
BigUp_GetPeerInfos(x)
BigUp_GetVersion()
BigUp_GetVersionString()
BigUp_ProcessMessages()
BigUp_RemovePackage(x)
BigUp_SetMirrors(x)
BigUp_SetNetworkParams(x)
BigUp_SetPackagePriority(x,x)
BigUp_SetWebRequestLog(x)
BigUp_Start(x)
Лайт
GetBufferData(void *,uint)
CheckVersion
DownloadCallback
Start
Update

Может кто поможет или подскажет все же куда копать и что делать.
 
Верх