Есть замечательная игра [Ссылки могут видеть только зарегистрированные пользователи. ]
Хочу научиться шифровать\дешифровать пакеты между клиентом-сервером.
Пакеты отлавливаю без труда, юзаю WP507F
Предполагаю, что обмен данными идёт в XML формате, который каким-то способом либо запакован, либо сериализирован.
Информации мало в какую сторону копать, но вот что накопал:
Пакет для примерного разбора, отловленный от сервера:
95D55265747269657665556E6C6F636B65644375626573930B 1A933D9F0B414456700B4FBFB2710B517DE57B0B629FAFEC0B 68988A630B8098BA0F0B85083D670B88D7A0E00BA02038360B AAD44D340BAE95D4A50BBDEE823C0BC65A64860BE0A9599F0B E9B04FD90BF93B52A90BFC718DAD0BE23C17C9E46334636635 3636302D386132612D343232322D623234372D376165313261 373136343765
в виде hex-файла [Ссылки могут видеть только зарегистрированные пользователи. ]
Открыв пакет в hex редакторе видим [Ссылки могут видеть только зарегистрированные пользователи. ] составляющие пакета,
00х95-пологаю тип пакета
01хD5-длина пакета
02х-22х-заголовок пакета в ASCII
23х-х119 - дальше идёт зашифрованное тело пакета, которое хотелось бы как-то расшифровать
120х-155х - какой-то token, возможно ключь к дешифрации. Этот токен есть в конце всех пакетов, естественно везде он разный по значению, одинаковый по длине.
На этом форуме нащел сообщение http://zhyk.ru/forum/showpost.php?p=5427742&postcount=2
начал копать файл Assembly-CSharp.dll [Ссылки могут видеть только зарегистрированные пользователи. ] из каталога с игрой, он частично обфусцирован
нащел клиент за 2013 год, там этот файл немного меньше обфусцирован [Ссылки могут видеть только зарегистрированные пользователи. ] пологаю взаимоотношение с сервером в старой версии не сильно отличается от новой.
Итак, заглядываем внутрь в биоблитеку, первое что на что упал взгляд - на утилиты сериализации [Ссылки могут видеть только зарегистрированные пользователи. ] может ими можно как-то дешифровать тело пакета?
Еще интересное место [Ссылки могут видеть только зарегистрированные пользователи. ] в актуальном new_Assembly-CSharp.Cleaned.dll [Ссылки могут видеть только зарегистрированные пользователи. ] (после деобфусцирования длинных имён)
знаний как правильно копать не хватает наверно по коду можно найти какие примерные функции, которые вызываются для формирование конечного пакета....
Если надо, могу дать еще примеры других пакетов от клиента или сервера.
Я в сетевом программировании увы профан, и вообще только учусь пока изучаю с++, но мне важен сам алгоритм, а не кодинг, помогите кто чем может !!!