Nickers, вот смотри, есть, как минимум, два пути
1) Распотрошить клиент, вытащить из него алгоритм шифрования(в данном случае не подходит из-за недостатка знаний предметной области)
2) Обычно!!(расрас) 2й пакет(Init или как-то так) после начала обмена инфой с гейм сервером, содержит ключик, на основе которого генерируется ключ шифрования для текущей сессии.
Далее, сначала нам нужно найти сам алгоритм шифрования, для этого нам нужен исходный материал.
Добыча исходного материала для анализа:
Для начала нужно добиться того, чтобы пакетхак подключался к серверу и ловил пакеты, далее, ставим галку "не дешифровать трафик" или как там она обзывается.
Итак:
Нам нужны пакеты, в которых есть очень много байтов 00 идущих подряд, например: пакет UseSkill - в нем 1й байт - идшник пакета, далее 4 байта - идшник скилла (05 00 00 00 power strike - очень удобно) ну а дальше флаги нажатия клавиш шифт и контрол ( по-умолчанию - тоже нули).
Значиццо делаем так - топаем в безлюдное&безмобное место, садимся на ж... пардон на 5ю точку, выносим павер страйк на панельку быстрого доступа(или как она там называется) и зажимаем соответствующий батон на клаве. В одно мгновение к серверу улетают порядка 10-20 запросов на использование скила, после чего сервак присылает пакет эпик фейл, пардон ActionFail собссенно какого худенького мы сидя хотим павер страйк заюзать?
Так вот, сохраняем лог, точнее ту часть, где идут подряд(расрас!!11) интересующие нас пакеты юз скилл, без вкраплений левых пакетов типа валидайт позишн, нет пинг и прочего недоразумения. Ну и далее, зная, как должен выглядеть исходный пакет, и видя, как он выглядит на самом деле пытаемся методом тыка подобрать ключ и алгоритм, по которому совершается злючее коверкание трафика.
|