Регистрация Главная Пользователи Все разделы прочитаны
Сообщения за день Справка Регистрация
Навигация
Zhyk.Ru LIVE! Реклама на Zhyk.Ru Доска почета top.zhyk.ru (beta) Премиум-аккаунт

Важная информация

Запуск WarFace без ИЦ

-

Warface Online

- Онлайн-шутер Warface от Crytek

Ответ
 
Опции темы Опции просмотра
Старый 29.11.2014, 15:40   #1
 Разведчик
Аватар для manx5
 
manx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражания
Регистрация: 02.02.2014
Сообщений: 27
Популярность: 1833
Сказал(а) спасибо: 1
Поблагодарили 9 раз(а) в 8 сообщениях
 
По умолчанию Запуск WarFace без ИЦ

не знаю пригодится ли кому.

для начала запуск WF без Игрового Центра для аккаунтов НЕМАЙЛРУ.

game.exe запускается ИЦ с параметрами -uid и -token которые отвечают за авторизацию в игре. рассмотрим откуда они берутся если аккаунт НЕМАЙЛРУ. ИЦ посылает следующие запросы:

первый запрос POST на адрес
Код:
https://authdl.mail.ru/ec.php?hint=GcAuth
Код:
<?xml version="1.0" encoding="UTF-8"?><GcAuth Username="пощта@немайл.ру" Password="пароль" ChannelId="0"/>
ответ приходит в виде XML. в элементе GcAuth ответа есть параметры Token, Uid и SessionKey
Token хранится ИЦ (чтобы не хранить пароль, но и не заставлять пользователя вводить его каждый раз) используя этот Token ИЦ может получить Uid и SessionKey заново (правда при этом обновляется и сам Token)

второй запрос POST на адрес
Код:
https://authdl.mail.ru/ec.php?hint=EnazaGetOrdersList
Код:
<?xml version="1.0" encoding="UTF-8"?><EnazaGetOrdersList Uid="Uid_из_предыдущего_ответа" SessionKey="SessionKey_из_предыдущего_ответа" UidType="3"/>
в ответе нет полезной информации, но запрос сделать необходимо.

третий запрос POST на адрес
Код:
https://authdl.mail.ru/sz.php?hint=AutoLogin
Код:
<?xml version="1.0" encoding="UTF-8"?><AutoLogin ProjectId="1177" SubProjectId="0" ShardId="1" GcToken="Token_из_первого_ответа"/>
ответ на этот запрос приходит в формате XML элемент AutoLogin которого содержит параметры PersId и Key. это и есть -uid и -token необходимые для запуска WF.

все запросы необходимо выполнять с User-Agent актуальным на сегодняшний день. по нему сервера авторизации похоже проверяют версию ИЦ. на сегодняшний день User-Agent
Код:
Downloader/4300
это версия ИЦ после точки с дополнительным нулём.

ниже скрипт на VB. надо положить в папку с Game.exe и запустить с параметрами имя_скрипта.vbs почта@немайл.ру пароль
скрипт запустит game.exe для соединения с альфой (параметры --shard_id=0 +online_server s0.warface.ru) 0 альфа 1 браво 2 Чарли менять в обоих местах для других серверов.
работа скрипта проверялась под Win7 64бит про другие системы не скажу. скрипт совершенно не проверяет никакие ошибки :-)

Код:
Set objArgs = WScript.Arguments

Dim o, WFLogin, WFPassword, WFToken, WFUid, WFSessionKey, WFPersId, WFKey, wsh

WFLogin = objArgs.Item(0)
WFPassword = objArgs.Item(1)

Set o = CreateObject("Microsoft.XMLHTTP")
o.open "POST", "https://authdl.mail.ru/ec.php?hint=GcAuth", False
o.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
o.setRequestHeader "Content-Length", Len("<?xml version=""1.0"" encoding=""UTF-8""?><GcAuth Username="""&WFLogin&""" Password="""&WFPassword&""" ChannelId=""0""/>")
o.setRequestHeader "User-Agent","Downloader/4300"
o.send "<?xml version=""1.0"" encoding=""UTF-8""?><GcAuth Username="""&WFLogin&""" Password="""&WFPassword&""" ChannelId=""0""/>"

Set xmlParser = CreateObject("Msxml2.DOMDocument")

xmlParser.loadXML(o.responsetext)

WFToken = xmlParser.getElementsByTagName("GcAuth").Item(0).getAttribute("Token")
WFUid = xmlParser.getElementsByTagName("GcAuth").Item(0).getAttribute("Uid")
WFSessionKey = xmlParser.getElementsByTagName("GcAuth").Item(0).getAttribute("SessionKey")

o.open "POST", "https://authdl.mail.ru/ec.php?hint=EnazaGetOrdersList", False
o.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
o.setRequestHeader "Content-Length", Len("<?xml version=""1.0"" encoding=""UTF-8""?><EnazaGetOrdersList Uid="""&WFUid&""" SessionKey="""&WFSessionKey&""" UidType=""3""/>")
o.setRequestHeader "User-Agent","Downloader/4300"
o.send "<?xml version=""1.0"" encoding=""UTF-8""?><EnazaGetOrdersList Uid="""&WFUid&""" SessionKey="""&WFSessionKey&""" UidType=""3""/>"

o.open "POST", "https://authdl.mail.ru/sz.php?hint=AutoLogin", False
o.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
o.setRequestHeader "Content-Length", Len("<?xml version=""1.0"" encoding=""UTF-8""?><AutoLogin ProjectId=""1177"" SubProjectId=""0"" ShardId=""1"" GcToken="""&WFToken&"""/>")
o.setRequestHeader "User-Agent","Downloader/4300"
o.send "<?xml version=""1.0"" encoding=""UTF-8""?><AutoLogin ProjectId=""1177"" SubProjectId=""0"" ShardId=""1"" GcToken="""&WFToken&"""/>"

xmlParser.loadXML(o.responsetext)

WFPersid = xmlParser.getElementsByTagName("AutoLogin").Item(0).getAttribute("PersId")
WFKey = xmlParser.getElementsByTagName("AutoLogin").Item(0).getAttribute("Key")

Set wsh = WScript.CreateObject("WScript.Shell")
wsh.Exec("Game.exe --shard_id=0 +online_server s0.warface.ru -uid "&WFPersid&" -token "&WFKey&" ")
для почт майлру ИЦ применяет немного другой механизм авторизации. но его тоже раскопать можно. начало раскопок в форуме про PerfectWorld
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
71va (10.03.2015), Nacionalist (29.11.2014)
Старый 29.11.2014, 21:09   #2
 Разведчик
Аватар для manx5
 
manx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражания
Регистрация: 02.02.2014
Сообщений: 27
Популярность: 1833
Сказал(а) спасибо: 1
Поблагодарили 9 раз(а) в 8 сообщениях
 
По умолчанию Re: Запуск WarFace без ИЦ

Цитата:
Сообщение от ShefMasterПосмотреть сообщение
это случайно не те скрипты которые отправляют логи пас на почту тебе?

подозрения вполне понятны, но это не те скрипты.

я лучше продолжу. описание механизма авторизации теперь для МАЙЛРУ почт.
ИЦ делает около 8 запросов, но для получения -uid и -token хватает 4х

первый запрос POST на адрес
Код:
https://o2.mail.ru/token
Код:
client_id=gamecenter.mail.ru&grant_type=password&username=почта@майл.ру&password=пароль
ответ на первый запрос
Код:
{"expires_in":3600,"refresh_token":"0123456789abcdef0123456789abcdef7777888877778888","access_token":"abcdef0123456789abcdef01234567897777888877778888"}
из этого ответа понадобится access_token

второй запрос POST на адрес
Код:
https://authdl.mail.ru/ec.php?hint=MrPage2
Код:
<?xml version="1.0" encoding="UTF-8"?><MrPage2 SessionKey="abcdef0123456789abcdef01234567897777888877778888" Page="http://dl.mail.ru/robots.txt"/>
SessionKey="access_token"

ответ
Код:
<?xml version="1.0" encoding="UTF-8"?><MrPage2 Location="https://auth.mail.ru/cgi-bin/auth?Login=почта@майл.ру&amp;agent=AA_aAAaaA0aaA00AAAAAaAAa&amp;page=http%3A%2F%2Fdl.mail.ru%2Frobots.txt" ErrorCode="0" />
из этого ответа понадобится Location с амперсантами нормального вида, т.е.
Код:
https://auth.mail.ru/cgi-bin/auth?Login=почта@майл.ру&agent=AA_aAAaaA0aaA00AAAAAaAAa&page=http%3A%2F%2Fdl.mail.ru%2Frobots.txt
третий запрос GET на адрес Location из предыдущего ответа, т.е. на
Код:
https://auth.mail.ru/cgi-bin/auth?Login=почта@майл.ру&agent=AA_aAAaaA0aaA00AAAAAaAAa&page=http%3A%2F%2Fdl.mail.ru%2Frobots.txt
в куках ответа на этот запрос лежит Mpop вида
Код:
0123456789:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef012345:почта@майл.ру:
четвёртый запрос POST на адрес
Код:
https://authdl.mail.ru/sz.php?hint=AutoLogin
Код:
<?xml version="1.0" encoding="UTF-8"?><AutoLogin ProjectId="1177" SubProjectId="0" ShardId="1" Mpop="0123456789:0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef012345:почта@майл.ру:"/>
ответ на 4й запрос
Код:
<?xml version="1.0" encoding="UTF-8"?><AutoLogin PersId="012345678" Key="0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef" />
-uid = PersId
-token = Key
можно запускать Game.exe
  Ответить с цитированием
Старый 16.03.2016, 03:19   #3
 Разведчик
Аватар для wfplayer0
 
wfplayer0 никому не известный тип
Регистрация: 01.11.2015
Сообщений: 7
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Запуск WarFace без ИЦ

Всегда интересовало каким образом вы раскапываете такие данные для запуска, можно какую нибудь стать на эту тему?
  Ответить с цитированием
Старый 16.03.2016, 07:45   #4
 Разведчик
Аватар для klaver
 
klaver никому не известный тип
Регистрация: 04.11.2011
Сообщений: 1
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Запуск WarFace без ИЦ

Цитата:
Сообщение от wfplayer0Посмотреть сообщение
Всегда интересовало каким образом вы раскапываете такие данные для запуска, можно какую нибудь стать на эту тему?

Присоединюсь ) были бы признательны.
  Ответить с цитированием
Старый 17.03.2016, 04:59   #5
 Разведчик
Аватар для wfplayer0
 
wfplayer0 никому не известный тип
Регистрация: 01.11.2015
Сообщений: 7
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Запуск WarFace без ИЦ

кстати сейчас способ для запуска игры с почтой mail.ru еле пашет (запускается с ~4-го раза), хотя все данные вытягиваются по запросам, пишет в самой игре: "Ошибка авторизации" кто-то знает в чем проблема?

Последний раз редактировалось wfplayer0; 17.03.2016 в 05:20.
  Ответить с цитированием
Старый 03.04.2016, 10:31   #6
 Разведчик
Аватар для manx5
 
manx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражания
Регистрация: 02.02.2014
Сообщений: 27
Популярность: 1833
Сказал(а) спасибо: 1
Поблагодарили 9 раз(а) в 8 сообщениях
 
По умолчанию Re: Запуск WarFace без ИЦ

случайно заметил что в теме есть ответы.

давно не запускал скрипт на МАЙЛРУ почты. в данный момент (у меня) всё стопорится на
Цитата:
третий запрос GET на адрес Location из предыдущего ответа,

в общем надо заново копать :-)

по поводу того как копать ИЦ...

сначала надо понять куда ИЦ отправляет запросы. это можно сделать с помощью например wireshark (правда он покажет только IP адреса без имён) или можно использовать дополнительно связку tasklist | findstr GameCenter покажет PID_ИЦ netstat -no | findstr PID_ИЦ
имея IP адреса немного муторно вычислять DNS имена но возможно:
1. разлогинились и закрыли ИЦ
2. ipconfig /flushdns
3. запустили ИЦ
4. залогинились
5. ipconfig /displaydns

если параллельно запущен wireshark можно посмотреть какие DNS запросы происходят.
выяснив куда обращается ИЦ нужно выяснить что же он передаёт. поскольку там всё по https то содержимое пакетов втупую посмотреть нельзя - там будет всё зашифровано.
однако, майлру обычно не особо защищался от подмены каждой из сторон клиентской или серверной.
т.е. можно поднять у себя допустим апач или любой другой веб-сервер поднять на нём https и у себя а в файле hosts написать что o2.mail.ru (и все другие выясненные имена) это 127.0.0.1 (ну или адрес где поднят апач)

далее работа идёт последовательно
1. выясняем какой запрос ИЦ отправляет первым подставив ему свой апач вместо майлрушного сервера
2. пишем скрипт который отправляет такой же запрос на реальный майлрушный сервер - получаем ответ
3. заставляем свой апач отвечать ИЦ аналогично реальному серверу
4. выясняем какой запрос ИЦ отправляет вторым подставив ему свой апач вместо майлрушного сервера
5. ... в общем повторять пока скрипту с ммайлрушного сервера не придёт нужная для запуска информация :-)

Добавлено через 7 часов 48 минут
ИЦ выполняет этот запрос не передавая User-Agent чем ставит меня в тупик поскольку в данный момент я пишу на VBS используя MSXML2.ServerXMLHTTP или WinHttp.WinHttpRequest.5.1 у которых есть дефолтный User-Agent и который пока получалось только изменить, но никак не удалить :-)

Добавлено через 10 часов 41 минуту
разобрался вроде.
эти хитрецы при выполнении запроса
Цитата:
третий запрос GET на адрес Location из предыдущего ответа

редиректят на страницу для роботов, что и привело меня в смущение. вобщем алгоритм остался таким каким и был. вот скрипт он весь результат кладёт в файл wfm.log рядом с собой так что ложите в папку с правом на запись. скрипт не проверяет никакие ошибки.
Код:
Set objArgs = WScript.Arguments

Dim o, o1, WFLogin, WFPassword, WFMRaccess_token, WFMRMpop, WFMRUid, WFMRSessionKey, WFMRPersId, WFMRKey

WFLogin = objArgs.Item(0)
WFPassword = objArgs.Item(1)

Set objRegExp = CreateObject("VBScript.RegExp")

Set xmlParser = CreateObject("Msxml2.DOMDocument")

Set o = CreateObject("MSXML2.ServerXMLHTTP")

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile ("wfm.log", 8, True)

'логин/пароль -> аксес-токен
o.open "POST", "https://o2.mail.ru/token", False
o.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
o.setRequestHeader "Content-Length", Len("client_id=gamecenter.mail.ru&grant_type=password&username="&WFLogin&"&password="&WFPassword)
o.setRequestHeader "User-Agent","Downloader/11870"
o.send "client_id=gamecenter.mail.ru&grant_type=password&username="&WFLogin&"&password="&WFPassword
objRegExp.Pattern = "access_token"":""(.+?)"""
WFMRaccess_token = objRegExp.Execute(o.responsetext).Item(0).Submatches.Item(0)
objTextFile.WriteLine(o.responsetext)

'юзеринфо - (!)надобность под вопросом
o.open "POST", "https://o2.mail.ru/userinfo", False
o.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
o.setRequestHeader "Content-Length", Len("client_id=gamecenter.mail.ru&access_token="&WFMRaccess_token)
o.setRequestHeader "User-Agent","Downloader/11870"
o.send "client_id=gamecenter.mail.ru&access_token="&WFMRaccess_token
objTextFile.WriteLine(o.responsetext)

'аксесс-токен -> ссылка для мпоп
o.open "POST", "https://authdl.mail.ru/ec.php?hint=MrPage2", False
o.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
o.setRequestHeader "Content-Length", Len("<?xml version=""1.0"" encoding=""UTF-8""?><MrPage2 SessionKey="""&WFMRaccess_token&""" Page=""http://dl.mail.ru/robots.txt""/>")
o.setRequestHeader "User-Agent","Downloader/11870"
o.send "<?xml version=""1.0"" encoding=""UTF-8""?><MrPage2 SessionKey="""&WFMRaccess_token&""" Page=""http://dl.mail.ru/robots.txt""/>"
xmlParser.loadXML(o.responsetext)
WFMRLocation = xmlParser.getElementsByTagName("MrPage2").Item(0).getAttribute("Location")
objTextFile.WriteLine(o.responsetext)

'ссылка для мпоп -> мпоп из куки на странице с редиректом
Set o1 = CreateObject("WinHttp.WinHttpRequest.5.1")
o1.open "GET", WFMRLocation, False
o1.setRequestHeader "User-Agent","Downloader/11870" 
o1.Option(6) = False
o1.send
objRegExp.Pattern = "Mpop=(.+?);"
objTextFile.WriteLine(o1.GetAllResponseHeaders())
objTextFile.WriteLine(o1.responsetext)
WFMRMpop = objRegExp.Execute(o1.getResponseHeader("Set-Cookie")).Item(0).Submatches.Item(0)

'мпоп -> юид и сессионкей
o.open "POST", "https://authdl.mail.ru/ec.php?hint=Auth", False
o.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
o.setRequestHeader "Content-Length", Len("<?xml version=""1.0"" encoding=""UTF-8""?><Auth Cookie="""&WFMRMpop&""" ChannelId=""0""/>")
o.setRequestHeader "User-Agent","Downloader/11870"
o.send "<?xml version=""1.0"" encoding=""UTF-8""?><Auth Cookie="""&WFMRMpop&""" ChannelId=""0""/>"
xmlParser.loadXML(o.responsetext)
WFMRSessionKey = xmlParser.getElementsByTagName("Auth").Item(0).getAttribute("SessionKey")
WFMRUid = xmlParser.getElementsByTagName("Auth").Item(0).getAttribute("Uid")
objTextFile.WriteLine(o.responsetext)

'мпоп -> персайди
o.open "POST", "https://authdl.mail.ru/sz.php?hint=Auth", False
o.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
o.setRequestHeader "Content-Length", Len("<?xml version=""1.0"" encoding=""UTF-8""?><Auth ProjectId=""1177"" SubProjectId=""0"" ShardId=""0"" Mpop="""&WFMRMpop&"""/>")
o.setRequestHeader "User-Agent","Downloader/11870"
o.send "<?xml version=""1.0"" encoding=""UTF-8""?><Auth ProjectId=""1177"" SubProjectId=""0"" ShardId=""0"" Mpop="""&WFMRMpop&"""/>"
objTextFile.WriteLine(o.responsetext)

'хз зачем это тут
o.open "POST", "https://authdl.mail.ru/ec.php?hint=EnazaGetOrdersList", False
o.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
o.setRequestHeader "Content-Length", Len("<?xml version=""1.0"" encoding=""UTF-8""?><EnazaGetOrdersList Uid="""&WFMRUid&""" SessionKey="""&WFMRSessionKey&""" UidType=""0""/>")
o.setRequestHeader "User-Agent","Downloader/11870"
o.send "<?xml version=""1.0"" encoding=""UTF-8""?><EnazaGetOrdersList Uid="""&WFMRUid&""" SessionKey="""&WFMRSessionKey&""" UidType=""0""/>"
objTextFile.WriteLine(o.responsetext)

'мпоп -> уид и токен
o.open "POST", "https://authdl.mail.ru/sz.php?hint=AutoLogin", False
o.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
o.setRequestHeader "Content-Length", Len("<?xml version=""1.0"" encoding=""UTF-8""?><AutoLogin ProjectId=""1177"" SubProjectId=""0"" ShardId=""1"" Mpop="""&WFMRMpop&"""/>")
o.setRequestHeader "User-Agent","Downloader/11870"
o.send "<?xml version=""1.0"" encoding=""UTF-8""?><AutoLogin ProjectId=""1177"" SubProjectId=""0"" ShardId=""1"" Mpop="""&WFMRMpop&"""/>"
xmlParser.loadXML(o.responsetext)
WFMRPersid = xmlParser.getElementsByTagName("AutoLogin").Item(0).getAttribute("PersId")
WFMRKey = xmlParser.getElementsByTagName("AutoLogin").Item(0).getAttribute("Key")
objTextFile.WriteLine(o.responsetext)

objTextFile.Close

Последний раз редактировалось manx5; 03.04.2016 в 21:12. Причина: Добавлено сообщение
  Ответить с цитированием
Старый 04.04.2016, 17:47   #7
 Разведчик
Аватар для manx5
 
manx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражания
Регистрация: 02.02.2014
Сообщений: 27
Популярность: 1833
Сказал(а) спасибо: 1
Поблагодарили 9 раз(а) в 8 сообщениях
 
По умолчанию Re: Запуск WarFace без ИЦ

а будет интересно кому подключение к серверу варфейс без клиента?
  Ответить с цитированием
Старый 05.04.2016, 16:44   #8
 Разведчик
Аватар для wfplayer0
 
wfplayer0 никому не известный тип
Регистрация: 01.11.2015
Сообщений: 7
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Запуск WarFace без ИЦ

мне больше интересно было как вы отследили какие параметры передаются непосредственно Game.exe. А запуск без ИЦ интересен т.к. есть необходимость автономно запускать ВФ. Если это можно сделать как-то с помощью ИЦ (возможно с помощью WinApi) буду очень благодарен подсказке.
  Ответить с цитированием
Старый 05.04.2016, 17:11   #9
 Разведчик
Аватар для f4lrik
 
f4lrik излучает ауруf4lrik излучает ауруf4lrik излучает ауруf4lrik излучает ауруf4lrik излучает ауруf4lrik излучает ауру
Регистрация: 14.02.2016
Сообщений: 2
Популярность: 557
Сказал(а) спасибо: 0
Поблагодарили 5 раз(а) в 3 сообщениях
Отправить сообщение для f4lrik с помощью Skype™
 
По умолчанию Re: Запуск WarFace без ИЦ

Цитата:
Сообщение от wfplayer0Посмотреть сообщение
мне больше интересно было как вы отследили какие параметры передаются непосредственно Game.exe.

Я использую Process Hacker. Это замена стандартному диспетчеру задач. Параметры командной строки можно увидеть в свойствах каждого процесса.
  Ответить с цитированием
Старый 05.04.2016, 17:41   #10
 Разведчик
Аватар для manx5
 
manx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражания
Регистрация: 02.02.2014
Сообщений: 27
Популярность: 1833
Сказал(а) спасибо: 1
Поблагодарили 9 раз(а) в 8 сообщениях
 
По умолчанию Re: Запуск WarFace без ИЦ

Цитата:
Сообщение от wfplayer0Посмотреть сообщение
мне больше интересно было как вы отследили какие параметры передаются непосредственно Game.exe. А запуск без ИЦ интересен т.к. есть необходимость автономно запускать ВФ. Если это можно сделать как-то с помощью ИЦ (возможно с помощью WinApi) буду очень благодарен подсказке.

не совсем понял вопрос.
если имеется ввиду вот это
Код:
C:\GamesMailRu\Warface\Bin32Release\Game.exe --shard_id=0 +online_server s0.warface.ru -uid 267130688 -token 9021504b84672afb40fa69375dcc672a591f7181e58baf943deeb3620c3d8dce
то в диспетчере задач посмотрел

т.е. если надо запустить варфейс без ИЦ то в конец скрипта надо добавить
Код:
set WshShell = WScript.CreateObject("Wscript.Shell")
WshShell.Run "Game.exe --shard_id=0 +online_server s0.warface.ru -uid " & WFMRPersid & " -token " & WFMRKey
а сам скрипт положить в папку с Game.exe
скрипт запустить с параметрами [email protected] pass
и вы на альфе. s1.warface.ru браво s2.warface.ru чарли

ну и я повторю вопрос: вдруг для ваших нужд и не надо запускать варфейс-то а надо просто попасть на сервер?
  Ответить с цитированием
Старый 05.04.2016, 19:02   #11
 Разведчик
Аватар для wfplayer0
 
wfplayer0 никому не известный тип
Регистрация: 01.11.2015
Сообщений: 7
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Запуск WarFace без ИЦ

Цитата:
Сообщение от manx5Посмотреть сообщение
ну и я повторю вопрос: вдруг для ваших нужд и не надо запускать варфейс-то а надо просто попасть на сервер?

А что значит попасть на сервер не запуская ФВ?

ПС: мне надо непосредственно запустить вф, используя метод без иц (за счет вытягивания токенов и т.д.) игра запуская не с первого раза + иногда может почту заблочить в целях безопасности (если часто пытаться запустить). Сейчас пытаюсь используя методы винАпи (в c#) кликать по координатам в ИЦ для запуска вф, но это очень топорно как по мне
  Ответить с цитированием
Старый 05.04.2016, 19:29   #12
 Разведчик
Аватар для manx5
 
manx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражания
Регистрация: 02.02.2014
Сообщений: 27
Популярность: 1833
Сказал(а) спасибо: 1
Поблагодарили 9 раз(а) в 8 сообщениях
 
По умолчанию Re: Запуск WarFace без ИЦ

Цитата:
Сообщение от wfplayer0Посмотреть сообщение
ПС: мне надо непосредственно запустить вф, используя метод без иц (за счет вытягивания токенов и т.д.) игра запуская не с первого раза + иногда может почту заблочить в целях безопасности (если часто пытаться запустить). Сейчас пытаюсь используя методы винАпи (в c#) кликать по координатам в ИЦ для запуска вф, но это очень топорно как по мне

я сам в воскресенье столкнулся с тем что сервер варфейса откинул авторизацию. я уж было подумал что со скриптами что-то не так оказалось нет - похоже это у них временные трудности.
при запуске без ИЦ не происходит задержки между получением токена и стартом Game.exe (в то время как через ИЦ пользователь ещё сервер выбирает) возможно поэтому игра сообщает о неверности авторизации. может следует дать паузу?

Цитата:
А что значит попасть на сервер не запуская ФВ?

ну Game.exe же чё-то потом делает с токеном. идёт на сервер варфейса по порту 5222 и использует xmpp (почти джабер но не совсем)

Код:
<?xml version='1.0'?><stream:stream to='warface' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' xml:lang='en' version='1.0'>
<?xml version='1.0'?><stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' id='524186683' from='warface' version='1.0' xml:lang='en'>
<stream:features><starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>WARFACE</mechanism></mechanisms></stream:features>
<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='WARFACE'>ADNiZmZlYjI3ODJkOTA2ZTY0N2E1MWJkNTczNGUzYmRhOWZjMDlmYTIxMTU0ODcxODZlODRkMzIwNmNhNTljMGMAMjY3MTMwNjg4</auth>
<success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/>
  Ответить с цитированием
Старый 05.04.2016, 20:18   #13
 Разведчик
Аватар для wfplayer0
 
wfplayer0 никому не известный тип
Регистрация: 01.11.2015
Сообщений: 7
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
 
По умолчанию Re: Запуск WarFace без ИЦ

Цитата:
ну Game.exe же чё-то потом делает с токеном. идёт на сервер варфейса по порту 5222 и использует xmpp (почти джабер но не совсем)

Ну запросы после запуска игры мне не интересны
Спасибо большое за ответы.

ПС: как тут сказать спасибо?
  Ответить с цитированием
Старый 05.04.2016, 20:37   #14
 Разведчик
Аватар для manx5
 
manx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражанияmanx5 блестящий пример для подражания
Регистрация: 02.02.2014
Сообщений: 27
Популярность: 1833
Сказал(а) спасибо: 1
Поблагодарили 9 раз(а) в 8 сообщениях
 
По умолчанию Re: Запуск WarFace без ИЦ

Цитата:
Сообщение от wfplayer0Посмотреть сообщение
Ну запросы после запуска игры мне не интересны

ну вот например хотябы для подбора задержки между получением токена и готовностью сервера к авторизации в выходной день :-) если это конечно верное предположение

Цитата:
ПС: как тут сказать спасибо?

вроде бы после какого-то количества сообщений появляется такая кнопка :-)
  Ответить с цитированием
Старый 06.04.2016, 20:42   #15
 Фельдмаршал
Аватар для Dimedrol1536
 
Dimedrol1536 сломал счётчик популярности :(Dimedrol1536 сломал счётчик популярности :(Dimedrol1536 сломал счётчик популярности :(Dimedrol1536 сломал счётчик популярности :(Dimedrol1536 сломал счётчик популярности :(Dimedrol1536 сломал счётчик популярности :(Dimedrol1536 сломал счётчик популярности :(Dimedrol1536 сломал счётчик популярности :(Dimedrol1536 сломал счётчик популярности :(Dimedrol1536 сломал счётчик популярности :(Dimedrol1536 сломал счётчик популярности :(
Регистрация: 22.02.2011
Сообщений: 949
Популярность: 34698
Сказал(а) спасибо: 939
Поблагодарили 2,535 раз(а) в 911 сообщениях
Отправить сообщение для Dimedrol1536 с помощью ICQ Отправить сообщение для Dimedrol1536 с помощью Skype™
 
По умолчанию Re: Запуск WarFace без ИЦ

Код на Delphi.
function Mail() - это для почты mail.
function NeMail() - это для любой другой почты.

Код:
function TForm1.Start(server,uid,token: String):Integer;
begin
   ShellExecute (0, nil,
    PChar(gPath+'\Bin32Release\Game.exe'),
    PChar('--shard_id=0 +online_server '+server+' -uid '+uid+' -token '+token),
    nil, SW_RESTORE);
end;

function Mail():Integer;
var
  o,xmlparser:OleVariant;
  accesstoken,str,location,mpop,uid,token:string;
  a1,a2:Integer;
  first,firstpost,twopost,autoLogin,server: string;
begin
  //Memo1.Clear;
  CoInitialize(0);

  if Form1.ComboBox1.ItemIndex = 0 then server:='s0.warface.ru';
  if Form1.ComboBox1.ItemIndex = 1 then server:='s1.warface.ru';
  if Form1.ComboBox1.ItemIndex = 2 then server:='s2.warface.ru';

  firstpost:= 'https://o2.mail.ru/token';
  first:='client_id=gamecenter.mail.ru&grant_type=password&username='+Form1.Edit1.Text+'&password='+Form1.Edit2.Text;
  twopost:='https://authdl.mail.ru/ec.php?hint=MrPage2';
  autoLogin:='https://authdl.mail.ru/sz.php?hint=AutoLogin';



  o:=CreateOleObject('Microsoft.XMLHTTP');
  xmlparser:=CreateOleObject('Msxml2.DOMDocument');
  o.open ('POST', firstpost, False);
  o.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');
  o.setRequestHeader ('Content-Length',Length(first));
  o.setRequestHeader('User-Agent','Downloader/4300');
  o.send (first);
  xmlParser.loadXML(o.responsetext);
  accesstoken := copy (o.responsetext, (Length(o.responsetext)-49),48 );

  if Pos('"error_code"',o.responsetext)<>0 then
  begin
    ShowMessage('Не верный логин\пароль');
  end
  else
  begin
  o.open ('POST', twopost, False);
  o.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
  o.setRequestHeader('Content-Length', Length('<?xml version="1.0" encoding="UTF-8"?><MrPage2 SessionKey="'+accesstoken+'" Page="http://dl.mail.ru/robots.txt"/>'));
  o.setRequestHeader('User-Agent','Downloader/4300');
  o.send ('<?xml version="1.0" encoding="UTF-8"?><MrPage2 SessionKey="'+accesstoken+'" Page="http://dl.mail.ru/robots.txt"/>');
  xmlParser.loadXML(o.responsetext);
  location := xmlParser.getElementsByTagName('MrPage2').Item(0).getAttribute('Location');
  StringReplace (location, 'amp;', '&',[rfreplaceall,rfignorecase]);
  o.open ('GET', location, false);
  o.setRequestHeader ('User-Agent','Downloader/4300');
  o.send;

  str:=o.getResponseHeader ('Set-Cookie');
  a1:= pos('Mpop=',str);
  a2:= Pos('ru:;',str);
  mpop:= copy (str, a1+5, a2-a1-2);

  o.open ('POST',autoLogin , False);
  o.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');
  o.setRequestHeader ('Content-Length', Length('<?xml version="1.0" encoding="UTF-8"?><AutoLogin ProjectId="1177" SubProjectId="0" ShardId="1" Mpop="'+mpop+'"/>'));
  o.setRequestHeader ('User-Agent','Downloader/4300');
  o.send ('<?xml version="1.0" encoding="UTF-8"?><AutoLogin ProjectId="1177" SubProjectId="0" ShardId="1" Mpop="'+mpop+'"/>');

  if Pos('SZError Code="793"',o.responsetext)<>0 then
  begin
    ShowMessage('Вы забанены :(');
  end else
  begin
    xmlParser.loadXML(o.responsetext);
    uid := xmlParser.getElementsByTagName('AutoLogin').Item(0).getAttribute('PersId');
    token := xmlParser.getElementsByTagName('AutoLogin').Item(0).getAttribute('Key');

    Form1.Start(server,uid,token);
  end;
  end;
end;
//------------------------------------------------------------------------------

function NeMail():Integer;
var
  o,xmlparser:OleVariant;
  accesstoken,str,location:string;
  a1,a2:Integer;
  zapr,first,firstpost,twopost,server: string;
  WFPersid,WFKey: string;
  uid,token,WFSessionKey,first_two,autoLogin: string;
begin
  if Form1.ComboBox1.ItemIndex = 0 then server:='s0.warface.ru';
  if Form1.ComboBox1.ItemIndex = 1 then server:='s1.warface.ru';
  if Form1.ComboBox1.ItemIndex = 2 then server:='s2.warface.ru';

  zapr:='https://authdl.mail.ru/ec.php?hint=GcAuth';
  first:='<?xml version="1.0" encoding="UTF-8"?><GcAuth Username="'+Form1.Edit1.Text+'" Password="'+Form1.Edit2.Text+'" ChannelId="0"/>';

  CoInitialize(0);
  o:=CreateOleObject('Microsoft.XMLHTTP');
  xmlparser:=CreateOleObject('Msxml2.DOMDocument');

  o.open ('POST',zapr , False);
  o.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');
  o.setRequestHeader ('Content-Length',Length(first));
  o.setRequestHeader ('User-Agent','Downloader/4300');
  o.send(first);
  xmlParser.loadXML(o.responsetext);

  if Pos('GcAuth ErrorCode="411" ',o.responsetext)or Pos('GcAuth ErrorCode="418"',o.responsetext)<>0 then
    begin
      ShowMessage('Нерный логин\пароль');
    end else
    begin
      token :=xmlParser.getElementsByTagName('GcAuth').Item(0).getAttribute('Token');
      uid:= xmlParser.getElementsByTagName('GcAuth').Item(0).getAttribute('Uid');
      WFSessionKey:= xmlParser.getElementsByTagName('GcAuth').Item(0).getAttribute('SessionKey') ;

      first_two:='<?xml version="1.0" encoding="UTF-8"?><EnazaGetOrdersList Uid="'+token+'" SessionKey="'+WFSessionKey+'" UidType="3"/>';
      o.open('POST', 'https://authdl.mail.ru/ec.php?hint=EnazaGetOrdersList', False);
      o.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');
      o.setRequestHeader ('Content-Length', Length(first_two));
      o.setRequestHeader ('User-Agent','Downloader/4300');
      o.send(first_two);

      autoLogin:='<?xml version="1.0" encoding="UTF-8"?><AutoLogin ProjectId="1177" SubProjectId="0" ShardId="1" GcToken="'+token+'"/>';
      o.open ('POST', 'https://authdl.mail.ru/sz.php?hint=AutoLogin', False);
      o.setRequestHeader ('Content-Type', 'application/x-www-form-urlencoded');
      o.setRequestHeader ('Content-Length', Length(autoLogin));
      o.setRequestHeader ('User-Agent','Downloader/4300');
      o.send(autoLogin);
      xmlParser.loadXML(o.responsetext);
      if Pos('SZError Code="793"',o.responsetext)<>0 then
        begin
          ShowMessage('Вы забанены :(');
        end
        else
        begin
          WFPersid:= xmlParser.getElementsByTagName('AutoLogin').Item(0).getAttribute('PersId');
          WFKey:= xmlParser.getElementsByTagName('AutoLogin').Item(0).getAttribute('Key');
          xmlparser:=CreateOleObject('WScript.Shell');

          Form1.Start(server,WFPersid,WFKey);

        end;
    end;
end;
//------------------------------------------------------------------------------
  Ответить с цитированием
Ответ

Метки
warface

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Помогите!] Запуск EXE SWATrc Вопросы и ответы, обсуждения 5 12.06.2014 22:34
[Помогите!] запуск из .bat blad56 Вопросы и ответы, обсуждения 5 01.08.2011 15:59
[Помогите!] запуск PWI thomas4792 Общение и обсуждение Perfect World 0 13.03.2011 17:48
Запуск PW kirill=) Общение и обсуждение Perfect World 11 14.12.2010 17:09

www.webmoney.ru
Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 06:28.

Пишите нам: [email protected]
Copyright © 2020 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net