А как работает криптация пакетов ? (клиент 2.0.0)

Ask for help

Moderators: Murderator+, Murderator

Post Reply
Dr.Assassin
Posts: 10
Joined: 2004-06-09 05:20:02
Contact:

А как работает криптация пакетов ? (клиент 2.0.0)

Post by Dr.Assassin »

Я пробую написать емулятор УО клиента, чтобы удобно было ставить чара на прокачку без окна ультимы. Но столкнулся с проблемой - криптации пакетов, у меня шард использует криптацию пакетов 2.0.0. Я смотрел исходники инжекта, но там все както запутано. Вчасности меня интересует как можно разкодировать и как закодировать пакеты. Я прорамирую на Делфи7, но в принципе могу постараться понять и С++. Пожалуста, помогите разобраться, или хотябы подскажите в каком порядке используются процедуры в исходнике инжекта, или может там есть готовая процедура для крипта/декрипта? Сенки.
Be Force With You.
Xpol
Posts: 14
Joined: 2004-05-04 00:06:57

Post by Xpol »

во ! я тоже хочу на эту тему позаморачиваться :idea:
я в дельфях чуток писал когда-то :wink:
тока не знаю с чего начать ...
поделись наработками могет вместе че слабаем ?
какие основные этапы и ваше как клиент работает ?
Dr.Assassin
Posts: 10
Joined: 2004-06-09 05:20:02
Contact:

Ж-)

Post by Dr.Assassin »

Окей, разработок мне нежалко, тем более что я вчера наново переписал ету типа УОКачалку :-)
Программирую я на Делфи(7), но с использованием библиотеки KOL, она позволяет создавать очень компактный код, как VC++, но удобство программирования как в Делфи. К этой библиотеке есть и набор зеркальных компонентов MCK. Которые используются для визуального построения формы. Вобщим есть достаточно много компонентов, которые добрые люди портанули под KOL (Key Object Library), в том числе и компоненты работы с сокетами (кстати код полностью открыт) написаные на асинхронных API функциях.
Вот ссылочки на сайты, с которых я скачал все необходимое:

Официальный сайт: http://bonanzas.rinet.ru/rindex.htm
вроде его зеркало: http://xcl.cjb.net/
другие сайты: http://kol.mastak.ru/
http://delphikol.narod.ru/
... возмозно ешо какие есть (смотри линки в этих сайтах)

Скачать оттуда можно (и нужно) документацию, екзамплы, побольше компонентов, полезные утилиты, и естесно новые библиотеки KOL&MCK.
Общим просто качаеш архив всего нужного + компоненты (вес~5.8Mb):
http://reactor.reality-protocol.de/php/ ... t=download
(эту ссылку я нашол на http://bonanzas.rinet.ru/r_downloads.htm)

Моя мыльная коробочка: nikolas @ unet . net . ua
---
Простота - это сложность изложенная подробно! Ж-)
Be Force With You.
Dr.Assassin
Posts: 10
Joined: 2004-06-09 05:20:02
Contact:

Post by Dr.Assassin »

Xpol wrote:во ! я тоже хочу на эту тему позаморачиваться :idea:
я в дельфях чуток писал когда-то :wink:
тока не знаю с чего начать ...
поделись наработками могет вместе че слабаем ?
какие основные этапы и ваше как клиент работает ?


Общим на даный момент я написал прогу которая является промежуточным звеном между СерверомУльтимы, и УОКлиентом, тоесть получает пакеты от одного и передает другому (в обоих направлениях). В качестве сервера я использую POL v0.95, вроде самый новый, скачать можно с их сайта, и ещё я почистил мир, чтобы он незагружал компа (PII,350Мгц,64оперы). Тоесть прога может смотреть пакеты которые эти парни посылают друг-другу.
Структуру и назначение пакетов я планирую выдрать с исходников Инжекта (кстати мне удалось скомпилировать инжект на VC++). Пока самая актуальная проблема - это криптация, которая так извращает пакеты, что каждый следующий (например юзе скил Хидинг) пакет вапсче непохож на все предыдущие. Думаю сегодня займусь этой проблемой :wink:
Исходников мне не жалко, пиши на мой почтовый ящик, вышлю что есть :-)
Be Force With You.
Lord Ruslan Nightmare
Expert!
Posts: 359
Joined: 2004-04-25 11:11:07
Contact:

Post by Lord Ruslan Nightmare »

Ну, если ты сможешь достать 2fish под дэлфи, совместимый не только бинарно, но и реально совместимый с twofish.c - тогда, может, что-то получится.
Без труда не выловишь и рыбку из пруда,
А без пруда не выловишь её и с трудом...
Dr.Assassin
Posts: 10
Joined: 2004-06-09 05:20:02
Contact:

Post by Dr.Assassin »

Lord Ruslan Nightmare wrote:Ну, если ты сможешь достать 2fish под дэлфи, совместимый не только бинарно, но и реально совместимый с twofish.c - тогда, может, что-то получится.


Непонял, а что такая большая проблема перевести существующий Twofish2.c на Delphi?
Пока я просто хотел бы услышать как именно осуществляется криптация пакетов, и какие процедуры за что отвечают - приблизительно так : Процедура Проц1 инициализирует ключи k1, k2. Далее все следующие пакеты шифруются процедурой Проц2, а дешифруются процедурой Проц3, а ключи k1 и k2 автоматически принимают новые значения. Параметры криптации (зависящие от версии, типа 2.0.0, 3.0.2,..) расположены в переменных pc1,pc2.
...и т.д. в таком духе :)
Общим хелп :-)
Be Force With You.
Dr.Assassin
Posts: 10
Joined: 2004-06-09 05:20:02
Contact:

Post by Dr.Assassin »

Lord Ruslan Nightmare wrote:Ну, если ты сможешь достать 2fish под дэлфи, совместимый не только бинарно, но и реально совместимый с twofish.c - тогда, может, что-то получится.


Кстати, клиент 2.0.0 для криптации исходящих пакетов использует алгоритм Blowfish!, а входящие пакеты вообще незакриптованы. В общим сенки за "помощь", я уже разобрался, осталось допортировать алгоритм с С++ в Делфи. :P
Be Force With You.
Xpol
Posts: 14
Joined: 2004-05-04 00:06:57

Post by Xpol »

Вот ша тока сессию сдам, тогда будет время покавырять исходники инжи...
Вообше хотелось бы что-нить типа инжи но без клиента а тока окошко консольки добавить (конечный результат я как-то так себе представляю)
Dr.Assassin
Posts: 10
Joined: 2004-06-09 05:20:02
Contact:

Post by Dr.Assassin »

Xpol wrote:Вот ша тока сессию сдам, тогда будет время покавырять исходники инжи...
Вообше хотелось бы что-нить типа инжи но без клиента а тока окошко консольки добавить (конечный результат я как-то так себе представляю)


У меня конечный вариант уже почти созрел :) . Он являет собой некое подобие конструктора, в который можно добавлять все что угодно, создавать Макросы, которые могут реагировать на тобой же созданные события. Думаю будет система приоритетов, которая будет расчитывать какие события более критичны (важны) в даный момент... В общим много чего уже готово, осталось просто довоплотить эту идею в "железо" так сказать.

А сесия, это сезонное заболивание :), у мя завтра последняя, решающая битва с экзаменатором :-)
Be Force With You.
Post Reply