PDA

Просмотр полной версии : Верификация ГГ для ГС (l2guard)


KpuKyH
12.03.2008, 14:50
Привет всем. Щас ковыряю сервак линейки с защитой l2guard.
Весь пакетный уровень расковырял (ингейм щас делаю), кроме одного:

ГС периодически (раз в 2 мин гдето) посылает клиенту пакет вида
13 00 F9 X0 X0 X0 X0 A0 A0 A0 A0 Y0 Y0 Y0 Y0 B0 B0 B0 B0
на который клиент отвечает похожим пакетом
13 00 CA X1 X1 X1 X1 A1 A1 A1 A1 Y1 Y1 Y1 Y1 B1 B1 B1 B1

вот варианты общения (только дата без длины и ID пакетов,названия собственные) :
(RequestGGValidation) Data: 85 18 1C AC BC F5 D5 DD A6 F6 C7 A2 26 4B 27 CA
(AnswerGGValidation) Data: 4F DA A4 49 4F AF 0A 4F 85 14 80 7E 34 C1 98 C2
(RequestGGValidation) Data: 1B 97 86 A0 4D C3 5F FA 79 63 A7 7B F5 8E 9E CC
(AnswerGGValidation) Data: 4E 22 11 A3 BE 67 62 52 AC D6 6F 8F 0F 39 7B EE
(RequestGGValidation) Data: 11 C9 E8 50 3C 55 5A 1B 21 16 E7 4F 79 61 5D E9
(AnswerGGValidation) Data: DB 60 65 82 4A 59 98 EE 39 0D 23 D5 F4 34 99 92
(RequestGGValidation) Data: 8F 44 46 2E 3C 54 34 A6 80 D7 72 D4 39 23 CB FD
(AnswerGGValidation) Data: E3 60 7A 1E FD C5 BC FA A7 8A 07 04 12 49 21 B8
(RequestGGValidation) Data: EB 3A 8C C3 E7 C4 1A 3D 5B B9 05 F3 61 03 06 79
(AnswerGGValidation) Data: 55 6A 05 35 3E 89 73 13 71 E0 A6 A1 59 00 9B 08
(RequestGGValidation) Data: 58 09 88 59 F9 80 7D 73 E6 20 3F 9E 18 60 5D 3F
(AnswerGGValidation) Data: 10 49 50 E4 50 85 22 9D 65 E9 8A 5B 99 4C EE 59
(RequestGGValidation) Data: 54 E6 22 9D 2D 29 CC 11 0A 7C B5 61 7B 5F 40 51
(AnswerGGValidation) Data: 65 AD AB 99 5B 18 06 CC 2F EA 62 D3 B7 79 66 E8
(RequestGGValidation) Data: BA 8A C5 2B 25 2E F6 EC A9 30 F4 0A F4 1C 1C 73
(AnswerGGValidation) Data: 14 DD 4D C9 9D 12 97 EE B8 6F 50 10 DE E9 C4 7D
(RequestGGValidation) Data: 46 85 65 F6 87 22 5F 84 2F 78 C8 42 06 C3 B7 16
(AnswerGGValidation) Data: 30 07 20 4F CB 06 5B 5B 55 04 54 9D 78 78 23 68
(RequestGGValidation) Data: 0D 7B 94 F7 8A 68 EF 1A 2A CB E1 34 39 99 1D 7C
(AnswerGGValidation) Data: C6 12 43 B6 8B 04 34 22 52 EC 85 A3 D9 E7 30 30
(RequestGGValidation) Data: 2A DC EC 11 53 E6 0C 1B 5B 38 86 43 DA E3 62 A0
(AnswerGGValidation) Data: 45 E7 3D C6 AC 82 C7 73 74 E3 D3 F2 F4 C5 6E 7D
(RequestGGValidation) Data: B9 F2 5E 7F 04 A2 AB 21 4B D0 39 8A 72 8B B3 AB
(AnswerGGValidation) Data: 19 0A 8F 09 72 61 92 89 79 EB 8E 74 4D 79 FF 0A

Если кто с этим разбирался, или разбирается - свяжитесь со мной, плз (ICQ 490770575)

Мои наблюдения:
1. Для одних и тех же X0 X0 X0 X0 и Y0 Y0 Y0 Y0 в запросе, X1 X1 X1 X1 и Y1 Y1 Y1 Y1 остаются неизменными для заданного случая.

2. A1 A1 A1 A1 и B1 B1 B1 B1 всегда разные (возможно мусор, а может и нет)

3. Есть такие варианты X0 X0 X0 X0 и Y0 Y0 Y0 Y0 при которых дата в пакете ответа - константа.
Вот некоторые:
46 34 E0 9F 3C 2B 50 D8
70 6A 11 E0 1E 96 17 70
69 B0 34 56 0B A6 99 86
30 90 19 18 C8 A8 5C 12
E8 BE E8 51 68 31 E1 FF
7A AA 88 EA 26 A7 74 17
7B 4F 3A BF A1 85 72 A9
ED C0 32 02 B9 B7 0A AF
CC B2 B7 EC 04 5C 8A 3D
EE B2 13 88 E4 98 26 1B

00 00 00 00 XX XX XX XX
Data: 23 92 90 4D 18 30 B5 7C 96 61 41 47 05 07 96 FB
Это значение не зависит от того что у нас в X1 X1 X1 X1 и Y1 Y1 Y1 Y1.
Обращаю внимание, что при X0 X0 X0 X0=00 00 00 00, совершенно не важно чему равны остальные байты пакета, значение пакета ответа не изменяется.

4. При невалидных значениях X0 X0 X0 X0 и Y0 Y0 Y0 Y0, ответ клиента выглядит примерно так
53 00 01 00 E4 CD 76 E7 23 8D B3 6B 3F DA 89 F5
53 00 01 00 26 D1 B1 AF A0 29 29 9D 0C 5E 59 09
53 00 01 00 E2 43 CE 54 F4 44 E9 F5 22 C4 3F D0
т.е. X1 X1 X1 X1=53 00 01 00, остальное рандом.

5. Сопоставил недавно с пакетом Init (ЛС). В конце опять те же 16 байт запроса, ответ на который клиент передает в пакете RequestGGAuth.
Здесь используются тока соответствия при которых получается константа
23 92 90 4D 18 30 B5 7C 96 61 41 47 05 07 96 FB
на все остальные значения ответ 53 00 01 00 ...............

6. Что то близкое клиент передает в запросе с логином и паролем после 128 байт(криптованных РСА), но там пока не знаю от чего зависит(не смотрел пока).

Возможно это все тупо соответствия, возможно (с большой натяжкой) вариант РСА.... :unknown:
Вобщем очень нужна помощь. Так что пишите. Всю необходимую информацию предоставлю (логи, исследования т.п.)

DeuX
17.03.2008, 06:06
РСА вряд ли... слишком медленный алгоритм, чтобы делать валидацию тысячи подключенных клиентов и высчитывать корректный код