PDA

Просмотр полной версии : EnterWorld, прошу коллективный разум


klemberg
10.01.2010, 23:44
фришка, Интерлюд.
стоит примитивный антибот, реагирующий на неправильные/отсуствующие пакеты.

все пакеты давно вычислены, кроме одного - EnterWorld.

Суть в том, что содержимое пакета - совсем не нулевые байты и на это содержимое реагирует антибот. Содержимое каждый раз разное - никаких совпадений пр сравнении более 4-х десятков пакетов не найдено.

Вплоть до того, что пакетхаком подменяешь один байт в пакете и антибот сразу уделяет тебе внимание.

Затея посылать ботом EnterWorld, выдранный из подключения нормального клиента (даже из сильно старого подключения) - с треском проваливается.



Прошу идеи, даже самые абсурдные - какую инфу клиент может отправлять в этот пакете, что сервер всегда отличает реальный пакет от фейка?

Спасибо.


ЗЫ: примеры пакетов:


03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 29 E1 DC 5A 5F BE 5F 3C 66 3A 83 65 DF AB CD C0 0A 7C B8 B9 97 E5 78 94 A2 3B CF C7 68 66 B9 E2 D4 E7 A6 44 FE 7A D6 B6 B5 FC 20 A5 A4 AD CC E5 D2 4E E7 30 DB A9 40 47 09 81 78 01 DE 59 E1 C0 D6 2C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E5 60 E3 BC 9D 70 73 BE 76 7A AA D3 57 51 F3 38 EB 77 0E FB 09 B9 E3 E5 D3 C6 FD 1E 29 32 BD 63 40 FF FA 39 BC 7C 91 FC 4D 0A 67 4D B3 D8 A1 87 4E 51 06 F1 34 2A 38 5A 03 E1 48 3D D7 1D 29 BE AE 72 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FB 97 56 D5 99 90 AF 54 AE 29 33 60 3A FA BD B9 BE 85 AB 18 09 F2 4C 28 13 8A 55 71 C9 93 05 DC 3B CF 1E 60 D1 40 7A 60 F3 BC 1A DF 13 94 25 AF 1D A9 A0 30 69 8C 5A BE 37 D8 A8 03 0E B7 03 F7 52 69 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3E A8 36 84 A8 B8 D3 82 31 D4 95 A5 E1 ED 04 38 C2 1E 45 22 D1 2F 32 9C 94 7F 44 5B 13 D1 70 F5 51 8A 5A 1E 0E 62 30 F0 28 1D 6C 45 C4 77 72 E6 A9 83 B1 C7 DD 44 01 80 60 21 E1 CA 53 DF 74 D6 90 5F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 60 89 E1 EF 0C CE 59 5A F4 97 84 98 16 12 98 F3 E2 81 22 DA E8 8A 33 F3 AF C0 1A C0 41 CE C1 6E 39 63 6C 47 2B 1E 38 AC BF 66 EE 5C 13 FB 01 22 2C 5F 3F F7 9A C0 AC 10 BE 89 18 C7 25 E5 87 49 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

xkor
11.01.2010, 00:34
klemberg, в оригинальном интерлюде этот пакет почти весь - константа, только 4 байта последних перед нулями меняются и причем рандомно, а у тебя наверн вся защита на этом пакете)

klemberg
11.01.2010, 03:45
фактически получается что так, ибо все остальное разгадали за пару часов >.<

Добавлено через 3 часа 8 минут
опытным путем было установлено что критичны в пакете только байты с 18 по 49 включительно:

03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 7C 8C ED 8B 18 0E 55 27 12 33 92 94 05 9C F6 B9 A0 21 C3 F9 FA E9 34 0A 44 56 25 3A E5 A1 ED 7E 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 00 00 00 00 00 00 00 00 00
Тестировалось на одном аккаунте на разных персонажах. Завтра попробую варианты с более длинным логином/паролем и с айпи из других сетей.

xkor
11.01.2010, 04:25
опытным путем было установлено что критичны в пакете только байты с 18 по 49 включительно:эт разве не все не нулевые байты в пакете?)

klemberg
11.01.2010, 19:19
эммм, если смотреть последний пример пакета - да, но пакет не оригинальный - не критичные байты заменены на нули мной

dmitry501
13.01.2010, 13:09
Наиболее простой способ - скрипт фейк - логина
Идея - к логин серверу коннектится легальный клиент, а вот к гейм-серверу уже бот

klemberg
13.01.2010, 15:08
dmitry501, EnterWorld это GS

alexteam
13.01.2010, 15:59
who cares ?

klemberg
13.01.2010, 19:46
alexteam, никому, кроме меня.

alexteam
13.01.2010, 20:01
я по поводу того что пакет относиться к траффику гс<>клиент.
выполнить все что касается части до ентерворлда клиентом а все последующее возложить собственно на волкера вполне выполнимая задача.
геморно, много кода, но ведь возможно.

klemberg
13.01.2010, 23:12
но смысл, если все остальное можно возложить на ПХ+скрипты (в принципе, сейчас так и работает).

тут как раз вся фишка в том, что логин и релог он дисконнект без участия хомо-сапиенса, поэтому буду искать что за такие осмысленные 32 байта передаются в пакете %)

dmitry501
15.01.2010, 10:56
но смысл, если все остальное можно возложить на ПХ+скрипты (в принципе, сейчас так и работает).

тут как раз вся фишка в том, что логин и релог он дисконнект без участия хомо-сапиенса, поэтому буду искать что за такие осмысленные 32 байта передаются в пакете %)

Затраты на реверсинг защиты могут быть намного выше затрат на "костыли" в виде фейк-логина, даже на трудоемкие "костыли". Их хоть совершенно ясно как нужно реализовать :)