пятница, 27 июля 2012 г.

Разрущители легенд. Enc\Dec как средство от всех болезней.

Вчера наткнулся на тему, где очередной раз продавали средство лечения протокола(игры  MuOnline) от болезней типа MuAutoClicker Elita и т.п. Прочитав "интелектуальную беседу", честное слово меня это рассмешило, прям улыбка на лице сама по себе появилась) Столько шума, но вокруг чего?)

Дело в том что я когда-то сам работал в этом напровлении. Не так давно(несколько месяцев назад) я писался с Саней(Killbrum) на какие-то темы связанные с защитой игры и разговор защел на темы Enc\Dec. Я в тот момент приблизительно знал что эти файлы связаны с шифрованием но с каким именно и как они работают еще не знал. Входе нашего разговора, Саня мне обьяснил что эти файлы ключи шифрования протокола и что какой-то чувак научился их делать и толкает за много денег. Цена мол была велика потому что все читы грузыщие траффик работают на стандартных ключах, а если им подсунуть нестандартный ключ то траффик им понятен не будет. Меня конечно это заинтересовало, в том плане что если всё верно, то можно наконец избавится от некоторых назойливых читов(на тот момент у меня был сервак). Бросив все дела я ринулся в изучения устройства ключей и алгоритмов шифрования траффика ...

По итогу разобрав устройства ключа и принцип его загрузки я попытался поизменять значения в ключах, но в результате любых изменений ключи становились негодными. Поэтому чтобы иметь хоть какие-то зацепки я невероятными усилиями откапал какие-то не стандартные ключи и смог под ними войти в игру. Сразу же взялся проверить покатит ли Аванта, у меня на 2х ПК  она не работала поэтому я кого-то попросил проверить и к моему сожалению Аванта прокатила. Я начал плеватся мол почему! Оказалось протокол шифруется только на половину(пакеты C3\C4) и читам этого дастаточно.  Поняв всю бесполезность этих ключей я забил на них.

Прошло время, я стал работать с протоколом, соответственно начал больше понимать как что устроено и какие места в нём кривые. И тут мне случайно попадается эта статья на Х-Му) Опять раздувается некие чудесные свойства ключей и там же Саня задвигает правильную идею налаживать дополнительное шифрование на весь траффик, на что получает негативный ответ типо идея УГ, стандартные ключи рулят и "слышу звон, не знаю где он". Бгг... только вот на мой взгляд всё обсолютно наоборот)

Давайте на этом остановимся и разберёмся по подробнее. Насколько подсказывает мой опыт, обмен пакетами в основной своей массе идёт через открытые C1\C2. Тобищь полностью пофиксить читы не выйдет, я это знал и чувствовал сразу, но слова должны иметь под собой какую-то основу, поэтому я проделал тест:
Хукнул в Main'e и Gs'e отправку и получение пакетов и наложил на защифрованные пакеты C3\C4 простейшее дополнительное XOR шифрование, чтобы воссоздать атмосферу нестандартных ключей. Ключики с прошлых тестов я найти на компе не смог, поэтому замутил такую альтернативу. Затем запустил Аванту но пока что на стандартных ключах, чтобы посмотреть как она воздействует на траффик. Оказалось что пакеты предвижения, атаки, отсылки сообщений и пр. всё работает на открытых пакетах C1\C2, которые с успехом жуются читами. Меня это не удивило. Потом была запущена игра уже под дополнительным шифрованием, причём Аванта не запустилась, именно этим явлением обосновывают чудесные свойства ключей, повидимому ниукого из умельцев клепать ключи не возникало желания разобратся доконца) Но я ведь знаю что ключи эти бесполезны, я ведь 5 минут назад своими глазами видел как нешифрованный траффик успешно протекал через чит, пришлось разобратся. Как оказалось Аванта активируется  пакетом PMSG_CHARMAPJOINRESULT, который отсылается при входе на персонажа, данный пакет относится к C3 поэтому Аванта его не поняла и не запустилась под шифрованием. Отлично, теперь известно причина сбоя чита, чтобы окончатильно убить легенду о чудесных свойствах ключей я проделал еще 1 опыт. В алгоритме дополнительного шифрования я дописал условие, согласно которому один единственный пакет PMSG_CHARMAPJOINRESULT не будет подвергатся дополнительному шифрованию. И как вы думаете что произошло? Конечно же аванта запустилась и работала на славу, комманды //autokill, //die сработали, однако //autopick не работала)

Я считаю что легенду о чудестных св-вах ключей ENC\DEC можно считать разрущенной, использование этих ключей даст максимум 30% из того что приписывают к ним. Чтобы получить 100% результат нужно вещать дополнительное шифрование на пакеты C1\C2. Это должно быть не тунелирование как предлагал Саня, а именно допил до того как данные попадают в winsock'овый send.

Комментариев нет:

Отправить комментарий