
Сообщение от
wanderlust
Поковыряйся в исходниках java серверов. Там готовый класс отвечающий за шифрование.
P.S. Delphi уже отжил свое... жаль что ты выбрал его.
Ну я пишу на том, на чем мне удобнее...
А с точки зрения написания подобного рода программ - абсолютно все ранвно на чем писать, на том, что отжило, или на том, что не отжило...
Вот чего пока добился (все операции пока логирую):
Код:
Соединяемся с логин-сервером
Получены данные длиной 11 байт
Полученный пакет имеет тип = 0
Получен пакет Init
SessionId=219B2461
Ревизия протокола 0000785A
Отправляем пакет RequestAuthLogin
Получены данные длиной 50 байт
расшифровываем полученные данные в BlowFish
Полученный пакет имеет тип = 3
Получен пакет LoginOK
sessionkey1 first part =000035EC
sessionkey1 second part =219B2461
Отсылаем пакет RequestServerList
Получены данные длиной 58 байт
расшифровываем полученные данные в BlowFish
Полученный пакет имеет тип = 4
Получен пакет ServerList len=58
Кол-во серверов = 2
Сервер N=0 ====================
ID сервера =1
IP-Адрес Гейм сервера 18452AC3 ( 195.42.69.24 )
Порт Гейм сервера =7777
Возрастной лимит = 0
ПВП сервер =1 (1-да, 0-нет)
Кол-во игроков онлайн =612
Максимальный онлайн =1000
Статус сервера =1 (1-UP, 0-DOWN)
Статус сервера 2 =0 (непонятно что это)
Статус сервера 3 =21 (непонятно что это)
Сервер N=1 ====================
ID сервера =2
IP-Адрес Гейм сервера F4A207C3 ( 195.7.162.244 )
Порт Гейм сервера =7777
Возрастной лимит = 0
ПВП сервер =1 (1-да, 0-нет)
Кол-во игроков онлайн =0
Максимальный онлайн =0
Статус сервера =0 (1-UP, 0-DOWN)
Статус сервера 2 =0 (непонятно что это)
Статус сервера 3 =21 (непонятно что это)
Отсылаем пакет RequestServerLogin
Получены данные длиной 26 байт
расшифровываем полученные данные в BlowFish
Полученный пакет имеет тип = 7
Получен пакет PlayOK
SessionKey2FP=00002F60
SessionKey2SP=000035EC
дисконект
нужно запускать соединение с гейм-сервером
конект
Отправляем на сервер пакет ProtocolVersion
Получены данные длиной 16 байт
Полученный пакет имеет тип = 0
Получен пакет FirstKey
FirstKey XOR =XXXXXXXX
Формируем пакет RequestAuthLogin
2F 00 08 XX XX XX XX XX XX XX XX XX XX XX XX XX
XX XX XX XX XX XX XX XX XX 00 00 EC 35 00 00 60
2F 00 00 EC 35 00 00 61 24 9B 21 01 00 00 00
Этот же пакет зашифрованный XOR
2F 00 18 3B 3B 57 F6 EF BB 57 47 77 77 05 A4 A9
FD 1E 0E 2F 2F 5D FC A1 F5 72 62 CA FF FF 5E 52
29 AE BE 16 23 23 82 8F FF E3 D2 97 97 97 36
отправляем на сервер RequestAuthLogin
Получены данные длиной 330 байт
Полученный пакет имеет тип = 19
Получено 330
4A 01 13 01 00 00 00 XX XX XX XX XX XX XX XX XX
XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
XX XX 00 00 00 EC 35 00 00 00 00 00 00 00 00 00
00 00 00 00 00 04 00 00 00 35 00 00 00 01 00 00
00 28 B8 01 00 2A 37 00 00 58 27 00 00 76 E0 9C
11 A5 65 73 40 CB 32 C4 B1 2E AE 58 40 FE 01 00
00 AE 8A 00 00 09 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 5C 9F 7B 00 5D 9F 7B 00 5E 9F 7B
00 60 9F 7B 00 5F 9F 7B 00 2F 9F 7B 00 CE B1 28
00 02 97 28 00 2D 9F 7B 00 2C 9F 7B 00 0C 0A 29
00 2E 9F 7B 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 4E 03 00 00 4E 03 00 00 8D 03 00
00 6E 03 00 00 6E 03 00 00 7C 04 00 00 57 00 00
00 14 00 00 00 33 00 00 00 1A 00 00 00 22 00 00
00 27 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 03 00 00 00 01 00 00 00 76 E0 9C
11 A5 65 73 40 CB 32 C4 B1 2E AE 58 40 00 00 00
00 35 00 00 00 01 00 00 00 00
Посылаем пакет выбора чара
15 00 XX XX XX XX XX XX XX XX XX XX XX XX XX XX
XX XX XX XX XX
Ошибка: 10053
дисконект
на XX заменено то, что не всем нужно знать.
Вот только при отсылке пакета выбора чара сервер меня дисконектит..