Ru-MaNGOS

Вернуться   Ru-MaNGOS > Ядро > Опкоды, Формулы, Клиент > Копаем клиент

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

Копаем клиент Копаем клиент

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.03.2010, 19:02   #1
Konctantin
RuDB Dev
 
Аватар для Konctantin
 
Регистрация: 01.02.2010
Адрес: localhost
Сообщений: 592
Сказал(а) спасибо: 323
Поблагодарили 283 раз(а) в 122 сообщениях
Записей в дневнике: 2
Konctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всемKonctantin Это имя известно всем
По умолчанию BattleNet авторизация

восстановлено с кеша google.com
Огромная благодарность Shadez за помощь.
================================================== =====================================
1 Aven
Грядет день Х когда с новым патчем станет невозможным авторизация по старому методу, давайте разберемся вместе с новым протоколом
Вот, что пока удалось раскопать:

Стандартный порт подключения: 1119
Адрес сервера указывается в файле realmlist.wtf в параметре set realmlistbn
Клиент (тестировалось на 10505) подключается именно по нему, когда в качестве логина используется E-Mail.

Логин использовался: 12345aabbcc@sfgsfg.ru

Первый пакет отправляемый клиентом серверу:
PHP код:
40 00 0a ed ea 07 0a ed 2d 76 4e aa 4a 1d 00 2b b7 ab 01 2b b4 b7 00 00 14 84 01 2b b7 ab 63 30 b9 b2 01 00 14 72 00 2b b7 ab 65 b7 23 a1 00 00 14 84 01 2b b7 
ab 73 3a a9 2a 01 00 14 84 55 37 b7 b6 00 2b b4 b7 00 00 00 f5 43 37 32 ba 00 2b b4 b7 00 00 1a 8b 0a 02 31 32 33 34 35 61 61 62 62 63 63 40 73 66 67 73 66 67 
2e 72 75

@
??
?-
vN?J+·«+?·„+·«c0??r+·«e·#?„+·«s:©*„U7·¶+?·?C72?+?·‹
12345aabbcc@sfgsfg.ru 
Я предпологаю что это CMD_GRUNT_AUTH_CHALLENGE

================================================== =====================================
2 TOM_RUS
В первом пакете содержится информация о версии компонентов клиента и логин в виде е-мэйла.
Также несколько респонсов:
PHP код:
no play time
4  213.248.127.130
:1119  192.168.1.2:19197  8  Recv  
0000  40 28 01 CE 00 00 00 00                            
@(......

no wow accounts
4  213.248.127.130
:1119  192.168.1.2:2567  8  Recv  
0000  40 28 00 EB 00 00 00 00                            
@(......

unknown account
4  213.248.127.130
:1119  192.168.1.2:2568  8  Recv  
0000  40 28 00 E8 00 00 00 00                            
@(......

unknown version
2  213.248.127.130
:1119  192.168.1.2:3867  8  Recv  
0000  40 28 00 F0 00 00 00 00                            
@(...... 
Про первые 4 пакета нет никакой информации (CMSG 40 00, SMSG 42 10, CMSG 42 08, SMSG 40 10).

Пакет 40 00:
PHP код:
1  192.168.1.2:12858  213.248.127.130:1119  106  Send  
40 00
0A ED EA 07 0A ED 2D 76 4E AA 4A 1D 
// 12 bytes per component
00 2B B7 AB 01 2B B4 B7 00 00 13 6D
01 2B B7 AB 63 30 B9 B2 01 00 13 6D
01 2B B7 AB 65 B7 23 A1 00 00 13 6D
01 2B B7 AB 73 3A A9 2A 01 00 13 6D
55 37 B7 B6 00 2B B4 B7 00 00 00 F5
43 37 32 BA 00 2B B4 B7 00 00 16 36
06 07 unk
?? ?? ?? ?? ?? ?? ?? ?? @ ?? ?? ?? ?? ?? ?? ?? ?? ?? e-mail 
Далее:
Запрос реалмлиста 40 02:
PHP код:
5  192.168.1.2:2723  213.248.127.130:1119  2  Send  
0000  40 02                                              
@. 
Первый ответ на запрос реалмлиста 40 02 (возможно это количество персонажей, созданных в соответствующих мирах):
PHP код:
// byte - count
// for(count)
//     6 bytes
6  213.248.127.130:1119  192.168.1.2:2723  15  Recv  
0000  40 02 02 1A 07 02 03 00 01 1A 07 03 04 00 02       
@.............. 
Сам реалмлист 42 02:
PHP код:
// D0 XX, D1 XX is realm names in Russian
// D0 A1 D0 B5 D0 B4 D0 BE D0 B3 D1 80 D0 B8 D0 B2 - Седогрив
// for each realm:
// 42 02 +
// 5 bytes +
// + 1 byte - name length,
// + realm name (no NULL terminator!),
// + 14 bytes.
// realm list ends with 43 02

7  213.248.127.130:1119  192.168.1.2:2723  684  Recv  
0000  42 02 1A 07 03 0C 00 10 D0 A1 D0 B5 D0 B4 D0 BE    B
...............
0010  D0 B3 D1 80 D0 B8 D0 B2 80 00 00 01 00 00 00 0C    ................
0020  00 40 6E D9 17 00 42 02 1A 07 04 08 00 10 D0 9F    .@n...B.........
0030  D0 BE D0 B4 D0 B7 D0 B5 D0 BC D1 8C D0 B5 80 00    ................
0040  00 01 00 00 00 0C 00 40 6D 91 68 00 42 02 1A 07    .......@m.h.B...
0050  04 0A 00 0E D0 A0 D0 B0 D0 B7 D1 83 D0 B2 D0 B8    ................
0060  D0 B9 80 00 00 01 00 00 00 0C 00 40 60 83 12 00    ...........@`...
0070  42 02 1A 07 05 09 00 14 D0 94 D1 80 D0 B0 D0 BA    B...............
0080  D0 BE D0 BD D0 BE D0 BC D0 BE D1 80 80 00 00 00    ................
0090  00 00 00 0C 00 40 81 EB 85 00 42 02 1A 07 01 08    .....@....B.....
00A0  00 1A D0 A2 D0 B5 D1 80 D0 BC D0 BE D1 88 D1 82    ................
00B0  D0 B5 D0 BF D1 81 D0 B5 D0 BB D1 8C 80 00 00 01    ................
00C0  00 00 00 0C 00 43 C8 00 00 00 42 02 1A 07 00 0D    .....C....B.....
00D0  00 17 D0 AF D1 81 D0 B5 D0 BD D0 B5 D0 B2 D1 8B    ................
00E0  D0 B9 20 D0 BB D0 B5 D1 81 80 00 00 01 00 00 00    .. .............
00F0  0C 00 43 C8 00 00 00 42 02 1A 07 00 0C 00 10 D0    ..C....B........
0100  90 D0 B7 D1 83 D1 80 D0 B5 D0 B3 D0 BE D1 81 80    ................
0110  00 00 00 00 00 00 0C 00 40 92 2D 0E 00 42 02 1A    ........@.-..B..
0120  07 00 0E 00 1D D0 9F D0 B8 D1 80 D0 B0 D1 82 D1    ................
0130  81 D0 BA D0 B0 D1 8F 20 D0 B1 D1 83 D1 85 D1 82    ....... ........
0140  D0 B0 80 00 00 01 00 00 00 0C 00 40 7A 3D 71 00    ...........@z=q.
0150  42 02 1A 07 00 0F 00 17 D0 92 D0 B5 D1 87 D0 BD    B...............
0160  D0 B0 D1 8F 20 D0 9F D0 B5 D1 81 D0 BD D1 8F 80    .... ...........
0170  00 00 00 00 00 00 0C 00 40 97 DF 3B 00 42 02 1A    ........@..;.B..
0180  07 04 0B 00 15 D0 A2 D0 BA D0 B0 D1 87 20 D0 A1    ............. ..
0190  D0 BC D0 B5 D1 80 D1 82 D0 B8 80 00 00 01 00 00    ................
01A0  00 0C 00 44 16 00 00 00 42 02 1A 07 02 08 00 10    ...D....B.......
01B0  D0 93 D0 BE D1 80 D0 B4 D1 83 D0 BD D0 BD D0 B8    ................
01C0  80 00 00 01 00 00 00 0C 00 43 C8 00 00 00 42 02    .........C....B.
01D0  1A 07 01 0D 00 08 D0 93 D1 80 D0 BE D0 BC 80 00    ................
01E0  00 01 00 00 00 0C 00 43 C8 00 00 00 42 02 1A 07    .......C....B...
01F0  02 0B 00 17 D0 A1 D1 82 D1 80 D0 B0 D0 B6 20 D0    .............. .
0200  A1 D0 BC D0 B5 D1 80 D1 82 D0 B8 80 00 00 01 00    ................
0210  00 00 0C 00 43 C8 00 00 00 42 02 1A 07 02 09 00    ....C....B......
0220  13 D0 9A D0 BE D1 80 D0 BE D0 BB D1 8C 2D D0 BB    .............-..
0230  D0 B8 D1 87 80 00 00 01 00 00 00 0C 00 40 8C 5A    .............@.Z
0240  1D 00 42 02 1A 07 02 0A 00 1D D0 A1 D0 B2 D0 B5    ..B.............
0250  D0 B6 D0 B5 D0 B2 D0 B0 D1 82 D0 B5 D0 BB D1 8C    ................
0260  20 D0 94 D1 83 D1 88 80 00 00 01 00 00 00 0C 00     ...............
0270  43 C8 00 00 00 42 02 1A 07 05 0B 00 1F D0 91 D0    C....B..........
0280  BE D1 80 D0 B5 D0 B9 D1 81 D0 BA D0 B0 D1 8F 20    ............... 
0290  D1 82 D1 83 D0 BD D0 B4 D1 80 D0 B0 80 00 00 00    ................
02A0  00 00 00 0C 00 44 16 00 00 00 43 02                .....D....C. 
Клиент шлет в какой же мир мы хотим зайти (связи с реалмлистом найти не удалось) 44 02:
PHP код:
8  192.168.1.2:2723  213.248.127.130:1119  10  Send  
0000  44 02 1A 07 03 8C C6 D0 E9 06                      D
......... 
Сервак шлет адрес этого мира (вот в этом опкоде что-то странное, он меняется при каждом выборе нового мира, например 44 A2, 44 32, 44 C2 и т.д. всегда 44 ?2...):
PHP код:
// 08 A6 22 0E unknown crap
// 3E 43 2D 09 IP
// 0E 8C       PORT

9  213.248.127.130:1119  192.168.1.2:2723  12  Recv  
0000  44 32 08 A6 22 0E 3E 43 2D 09 0E 8C                D2
..".>C-... 
На этом все заканчивается...

================================================== =====================================
3 Aven
Тоже поснифал
Вот что интересно, в отличии от старого протокола, после получения полного списка миров клиент запрашивает периодически изменения в нем, а не полный список:

запрос:
PHP код:
00000145  40 01                                            @. 
ответ:
PHP код:
000027E0  40 01                                            @.
000027E2  42 02 0a 02 03 0a 00 0f  54 77 69 73 74 69 6e 67 B....... Twisting
000027F2  20 4e 65 74 68 65 72 80  00 00 01 00 00 00 08 00  Nether
. ........
00002802  40 56 24 dd 00                                   @V$..
00002807  42 02 1a 07 00 0e 00 1d  d0 9f d0 b8 d1 80 d0 b0 B....... ........
00002817  d1 82 d1 81 d0 ba d0 b0  d1 8f 20 d0 b1 d1 83 d1 ........ .. .....
00002827  85 d1 82 d0 b0 80 00 00  01 00 00 00 0c 00 40 92 ........ ......@.
00002837  e1 48 00                                         .H.
0000283A  42 02 12 06 00 0e 00 09  4d 6f 6f 6e 67 6c 61 64 B....... Moonglad
0000284A  65 80 00 00 06 00 00 00  08 00 40 2c cc cd 00    e
....... ..@,... 
Полный сниф удачного входа на "Борейская тундра".
http://pastebin.com/m449fe02c

Пакет 40 10 - содержит данные о аккаунте WoW, видны строки имени оригинального аккаунта
PHP код:
00000317  40 10 61 75 74 68 00 00  45 55 23 45 1d 42 8a 16 @.auth.. EU#E.B..
00000327  71 e2 76 35 e9 23 e9 ac  fd 6f 8a 88 3a cb 1f 8e q.v5.#.. .o..:...
00000337  6b 2a 41 52 f0 37 e5 84  15 94 08 01 03 b8 e4 36 k*AR.7.. .......6
00000347  05 d0 f1 17 b3 49 c1 90  ad ea 3d 84 36 da 90 e6 
.....I.. ..=.6...
00000357  6c b8 ae 8d f9 47 17 1b  39 59 84 45 5f 80 00 af l....G.. 9Y.E_...
00000367  c8 03 03 d0 90 00 00 00  fa 14 01 66 67 64 66 20 ........ ...fgdf 
00000377  73 66 67 73 66 67 02 06  44 46 53 44 53 47 53 00 sfgsfg
.. DFSDSGS.
00000387  00 00 00 00 00 00 08 00  00 00 00                ........ ... 
Возможно стоит поизучать исходники всяких PVPGN и bnetd...
Вот тут есть описание протокола для старых игр, опкоды под каждую свои...
__________________
Konctantin вне форума   Ответить с цитированием
4 пользователя(ей) сказали cпасибо:
ANTOMA (10.03.2010), DeusModus (10.03.2010), Viste (10.03.2010)
 


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

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



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


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot