Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   TERA (https://forum.zone-game.info/forumdisplay.php?f=182)
-   -   TL.exe (https://forum.zone-game.info/showthread.php?t=36721)

Tahoma 20.10.2014 17:10

TL.exe
 
Доброго времени суток.
Кто-нибудь разбирался с TL.exe? Не могу информацию по нему найти.
Сам поковырялся и выяснил только, что:
1. Чтобы не было ошибки "Can't find SSNL", надо у лаунчера присваивать класс "EME.LauncherWnd" и TL запускать через ShellExecute с хэндлом самого лаунчера, а не с NULL.
2. Потом TL.exe передает лаунчеру сообщения, предварительно выяснив его хэндл.

По ходу сообщения следующего содержания:
Hello!! = 0x0DBADB0A
slsurl = 2
gamestr = 3
last_svr = 5
char_cnt = 6
csPopup = 0
ticket = 8

там ещё списочек, но с ними надо ковыряться.
Вопрос то в следующем: передает он через
Код:

        COPYDATASTRUCT cs;
        cs.dwData = 0X0DBADB0A;
        cs.cbData = длина команды учитывая ноль в конце;
        cs.lpData = ссыль на команду;

        HRESULT rs1 = SendMessage(FindWindow("EME.LauncherWnd", NULL), WM_COPYDATA, (WPARAM)hMain, (LPARAM)&cs);
        if (rs1 != NULL)
        {
                MessageBox(NULL, "ok", ":)", MB_OK);
        }

но как получает ответ. Пока не понятно.

p.s.: клиент USA офф.

Aquanox 20.10.2014 23:48

Re: TL.exe
 
Все общение идет через WM_COPY_DATA. Получаем winapi'шным GetMessage/PeekMessage отправляем по SendMessage.

http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

Там около десятка MessageId с различным назначением. После того как они влепили встроенный webview в игре добавились функции проксирования http запросов на сервер через launcher (не смотрел детально).
Правильно эмулируя общение можно делать кастомный лаунчер на любой вкус и цвет (немного допилив напильником под нужный клиент)

Примеры:
http://puu.sh/cjTIk.jpg
http://puu.sh/cjUyO.jpg

Tahoma 21.10.2014 07:24

Re: TL.exe
 
А есть более подробный разбор общения? Или сорцы лаунчера. На ragezone может лежит, но при регистрации или восстановлении пароля не приходит почта. Не могу посмотреть, что там уже сделали.

Добавлено через 2 часа 57 минут
Разобрался с ответами. Просто запросы передавал не правильно. Пока отловил следующие:
Код:

Send: 0x0DBADB0A Hello!!
Recv: cb:8  dw: dbadb0a  lp : 43c6f0  wp : f0556 str : Hello!!

Send: 0x00000002 slsurl
Recv: cb:34  dw:2  lp:c8c970  wp:f0556 str:http://sls.service.enmasse.com:8080/servers/list.en

Send: 0x00000003 gamestr
cb:11d  dw:3  lp:47c6b0  wp:f0556 str:{"last_connected_server_id":4009,"chars_per_server":{},"account_bits":"0x00000000","ticket":"символы","result-message":"OK","result-code":200,"user_permission":0,"game_account_name":"TERA","access_level":0,"master_account_name":"JDKTHYJJ3Y"}

Send: 0x00000005 last_svr
пусто

Send: 0x00000006 char_cnt
cb:ab  dw:6  lp:69e030  wp:f0556 str:{"chars_per_server":{},"account_bits":"0x00000000","result-message":"OK","result-code":200,"game_account_name":"TERA","access_level":0,"master_account_name":"букавки"}

Send: 0x00000008 ticket
cb:7c  dw:8  lp:b8e010  wp:f0556 str:{"result-message":"OK","result-code":200,"ticket":"символы","user_permission":0}


Send: 0x00000000 endPopup(%s)
273 - похоже на сбой при передаче.


Tahoma 22.10.2014 15:56

Re: TL.exe
 
Нифига понять не могу. Все останавливается на slsurl и ни туды, ни сюды.


Текущее время: 03:08. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot