Показать сообщение отдельно
Старый 23.02.2015, 12:17   #3
Новичок
 
Регистрация: 16.12.2014
Сообщений: 8
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
Андрей Жерносек пока неопределено
По умолчанию

Цитата:
Сообщение от ScythLab Посмотреть сообщение
Многа нипонятных букавак.
Что значит "длина и тип верные"? Какие остальные байты? Что за размер 137 байт или 1037? нужно бы определиться.
Стандартная длина пакета ProtocolVersion - 265 байта (c:id, d:версия протокола, блок данных 256 байт, d:некая контрольная сумма).
Как правило этот пакет сильно не меняется, но, например, lameguard подменят блок данных (256 байт) на свой, причем не помню можно ли его соснифать или он каждый раз разный. Видел защиту в которой после блока данных шел еще небольшой массив на 16-32 байт.
Так что тут 2 варианта: 1) все-таки разобраться что конкретно отсылается, и попробовать соснифать пакет, и тупо отправлять полученные данные (но вариант крайне сомнительный), 2) разбирать алгоритм формирования данных.
И еще не забывай, что многие защиты шифруют GS-трафик.
Извиняюсь 127 байт
Так вот, в этом то и вся проблема, "127 байт(с размером в 2 байта)" это ответ на "ProtocolVersion - 265 байта" то-есть если поставить нули, или что-то другое подходящее по размеру, возвращает блок с размером в 127 байт
Вот изображение из первого сообщения


Но, массив-константа просто взят из клиента, и он разный,в первое использование, оно возвращает массив, в 1035 байт(без 2-х байтов размера) И как я понимаю это пакет "FirstKey", а после повторной отправки ProtocolVersion с теми-же байтами который был отправлен первый пакет, получаю ответ в 125 байт(без размера в 2 байта) который показан в скрине...

В этом вся и проблема как сгенерировать правильный массив-константа?

http://www.la2kings.ru/la2bot/packet...rotocolVersion
Код HTML:
ProtocolVersion

Формат:
07 01           // Длина
00              // Тип
XX XX XX XX     // ProtocolVersion
[далее идет массив-константа, который хз от чего зависит, у меня он такой:]
09 07 54 56 03 09 0B 01 07 02 54 54 56 07 00 02
55 56 00 51 00 53 57 04 07 55 08 54 01 07 01 53
00 56 55 56 01 06 05 04 51 03 08 51 08 51 56 04
54 06 55 08 02 09 51 56 01 53 06 55 04 53 00 56
56 53 01 09 02 09 01 51 54 51 09 55 56 09 03 04
07 05 55 04 06 55 04 06 09 04 51 01 08 08 06 05
52 06 04 01 07 54 03 06 52 55 06 55 55 51 01 02
04 54 03 55 54 01 57 51 55 05 52 05 54 07 51 51
55 07 02 53 53 00 52 05 52 07 01 54 00 03 05 05
08 06 05 05 06 03 00 0D 08 01 07 09 03 51 03 07
53 09 51 06 07 54 0A 50 56 02 52 04 05 55 51 02
53 00 08 54 04 52 56 06 02 09 00 08 03 53 56 01
05 00 55 06 08 56 04 0D 06 07 52 06 07 04 0A 06
01 04 54 04 00 05 02 04 54 00 09 52 53 05 04 01
04 05 05 01 52 51 52 0D 06 51 08 09 54 53 00 0D
01 02 03 54 53 01 05 03 08 56 54 07 02 54 0B 06
Откуда у него эти данные, из сниффера, или из его там генерации...

И можно чутка поподробнее, про контрольную сумму, куда ещё дописывать нужно, с какова байта?)

Последний раз редактировалось Андрей Жерносек, 23.02.2015 в 12:32.
Андрей Жерносек вне форума   Ответить с цитированием