Хотел бы встроить в своего бота шифрацию для данной защиты.
Сервер на котором тестирую Interlude. В систем присутствует nProtect.des собран 2 января 2013 г. Знаю что CatsGuard использует RC4 шифрование, от сервера приходит GameGuardQuery с ключами размером 966+2
Откуда знания про RC4?
С чего ты решил, что это GameGuardQuery?
С чего ты решил, что в этом пакете ключи?
Если ты сумел расшифровать пакет (раз ты получил чистый трафик и тип пакета определил), то значит проблем с этой частью не должно быть.
Если в общем говорить про защиты, то скорей всего внутри des файла уже жестко вшит ключ шифрования, на сервере соответственно установлен такой же ключ. Т.е. клиент читает des, распаковывает/расшифровывает его и полученные данные использует для общения с сервером. Т.о. образом получается, что по сети ничего не передается, и клиенты от разных серверов не будут между собой совместимы.
Как узнать алгоритм и ключ? - Отладчик в руки и вперед.
Если это полный дамп пакета, то первые два байта (F9 03) - длина (т.е. 1017 байт вместе с заголовком, хотя ты выложил пакет меньшего размера), и значит это не GameGuardQuery, а KeyInit. Но в общем это не принципиально.
Цитата:
Пакет меняется в каждой сессии, после этого пакета меняется тип шифрования, соответственно я предположил, что в этом пакете приходят ключи.
И все равно я склоняюсь к мысли, что основные данные содержатся в des-файле, возможно присутствует какая-нить мутация ключа по данным из пакетов LoginOk, PlayOk и KeyInit. Собственно, если у тебя есть серверная часть с кодом, то из него ты можешь попытаться найти места, где передаются ключи, но опять-таки думаю ты столкнешься с des-файлом и с необходимостью его расшифровки.
Цитата:
Увы ассемблером не владею...
Тогда задача практически неразрешимая, только если чисто случайно наткнешься на верный алгоритм.
ScythLab можно спросить, а вы своего бота пишете ингейм? На инжекте длл?
Чуть предыстории: изначально он был OOG (повезло, что случайно выбранный сервер оказался вообще без защиты), потом примерно через полгода на этот сервак поставили защиту, начался ее анализ и параллельно проверялись другие сервера, выяснилось (внезапно и неожиданно ), что почти все сервера зашифрованы и что у каждой защиты свои фишки, и бороться с каждой из них крайне геморройно, поэтому бот переписали на IG-режим.
Для ИГ-ботов по сути два варианта: 1) инъекция dll (наш метод) 2) работа с памятью клиента извне.
(2) вариант более безопасен, но имхо больше грузит систему.
wimax, RC4 же симметричный алгоритм, если смог расшифровать, значит и закодировать сможешь, или там еще какая-то хитрая контрольная сумма?
Вам с Rzone можно объединиться, и работать вместе веселее, и знаний полезных поднакопите.