MitM атака - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Сообщество Календарь
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II

Lineage II
Дискуссии на тему создания, настройки и обслуживания серверов Lineage 2. При поддержке: Премиум услуги по рекламе

Ответ
Опции темы
Непрочитано 19.06.2015, 20:41   #1
Аватар для Zubastic
ZG troll squad

Автор темы (Топик Стартер) MitM атака

Собственно пишу свой перехватчик для увеличения функционала клиента. 90% взял с бота, который успешно работает, однако есть ряд затыков:
Мой софт из соединения с клиентом передает данные на сервер, однако при дешифрации пакеты повреждаются.
12-00-00-00-00-00-00-00-95-0E-00-00-00-00-00-00-00-00-00
12-00-00-00-00-00-00-00-92-01-00-00-00-00-00-00-00-00-00
В оригинале пакет выглядит так:
12-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

Выделенное жирным является изменяющимся значением (у длинных пакетов подобное проскакивает несколько раз). Собственно вопрос: как от этого избавиться и что делать?)

Добавлено через 25 минут
Крипт стандартный:
Код:
    public class GameCrypt
    {
        private byte[] _key = new byte[16];//8];
        private bool enabled;

        public GameCrypt()
        {
        }

        public void setKey(byte[] key)
        {
            _key[0] = key[0];
            _key[1] = key[1];
            _key[2] = key[2];
            _key[3] = key[3];
            _key[4] = key[4];
            _key[5] = key[5];
            _key[6] = key[6];
            _key[7] = key[7];
            _key[8] = key[8];
            _key[9] = key[9];
            _key[10] = key[10];
            _key[11] = key[11];
            _key[12] = key[12];
            _key[13] = key[13];
            _key[14] = key[14];
            _key[15] = key[15];

            enabled = true;
        }

        public byte[] decrypt(byte[] raw)
        {
            if (!enabled)
                return new byte[] { };

            uint temp = 0;
            for (int i = 0; i < raw.Length; i++)
            {
                uint temp2 = raw[i] & (uint)0xff;
                raw[i] = (byte)(temp2 ^ _key[i & 15] ^ temp);
                temp = temp2;
            }

            uint old = ((uint)_key[8]) & (uint)0xff;//0
            old |= (uint)(((uint)_key[9]) << 8 & (uint)0xff00);//1
            old |= (uint)(((uint)_key[10]) << 0x10 & (uint)0xff0000);//2
            old |= (uint)(((uint)_key[11]) << 0x18 & (uint)0xff000000);//3

            old += (uint)raw.Length;

            _key[8] = (byte)(old & 0xff);//0
            _key[9] = (byte)(old >> 0x08 & 0xff);//1
            _key[10] = (byte)(old >> 0x10 & 0xff);//2
            _key[11] = (byte)(old >> 0x18 & 0xff);//
            return raw;
        }

        public byte[] encrypt(byte[] raw)
        {
            if (!enabled)
                return new byte[] { };

            uint temp = 0;
            for (int i = 0; i < raw.Length; i++)
            {
                uint temp2 = raw[i] & (uint)0xff;
                temp = (temp2 ^ _key[i & 15] ^ temp);
                raw[i] = (byte)temp;
            }

            uint old = ((uint)_key[8]) & (uint)0xff;
            old |= (uint)(((uint)_key[9]) << 8 & (uint)0xff00);
            old |= (uint)(((uint)_key[10] << 0x10) & (uint)0xff0000);
            old |= (uint)(((uint)_key[11] << 0x18) & (uint)0xff000000);

            old += (uint)raw.Length;

            _key[8] = (byte)(old & 0xff);
            _key[9] = (byte)(old >> 0x08 & 0xff);
            _key[10] = (byte)(old >> 0x10 & 0xff);
            _key[11] = (byte)(old >> 0x18 & 0xff);
            return raw;
        }
}
__________________

Последний раз редактировалось Zubastic; 19.06.2015 в 21:06. Причина: Добавлено сообщение
Zubastic вне форума Ответить с цитированием
Непрочитано 19.06.2015, 23:34   #2
Пользователь

По умолчанию Re: MitM атака

Ваш софт вклинивается между клиентом и сервером?
Не забываете что при любом изменении трафика необходимо иметь 2 пары XOR ключей? 2 для общения с клиентом, и 2 для общения с сервером.
flopix вне форума Ответить с цитированием
Непрочитано 20.06.2015, 01:32   #3
Аватар для Zubastic
ZG troll squad

Автор темы (Топик Стартер) Re: MitM атака

Цитата:
Сообщение от flopix Посмотреть сообщение
Ваш софт вклинивается между клиентом и сервером?
Не забываете что при любом изменении трафика необходимо иметь 2 пары XOR ключей? 2 для общения с клиентом, и 2 для общения с сервером.
Да, вклинивается.
Да, 2 пары есть, но к сожалению есть проблемы....
__________________
Zubastic вне форума Ответить с цитированием
Непрочитано 20.06.2015, 02:44   #4
Аватар для n3k0nation
Antihero

По умолчанию Re: MitM атака

Кривой ключ, нэ? Что бы не заниматься байтолюбительством, лучше проверять чексумму :)

Код:
uint temp
uint temp2
А ничего так, что у тебя к signed byte присваиваются поксоренные unsigned int'ы? Смотри доку мелкомягких, что происходит у них в ВМке при переполнении и как происходит каст от unsigned к знаковым, ибо я не знаю.
__________________
m0nster.art - clear client patches, linkz to utils & code.
Гадаю по капче.
n3k0nation вне форума Ответить с цитированием
Непрочитано 20.06.2015, 04:42   #5
Аватар для Zubastic
ZG troll squad

Автор темы (Топик Стартер) Re: MitM атака

Цитата:
Сообщение от Pointer*Rage Посмотреть сообщение
Кривой ключ, нэ? Что бы не заниматься байтолюбительством, лучше проверять чексумму

Код:
uint temp
uint temp2
А ничего так, что у тебя к signed byte присваиваются поксоренные unsigned int'ы? Смотри доку мелкомягких, что происходит у них в ВМке при переполнении и как происходит каст от unsigned к знаковым, ибо я не знаю.
Работает и хрен с ним. Проблема была в другой плоскости и уже решена


Вообще на будущее, как сказал товарищ flopix выше нужно 2 пары, причем независимых. Писать в сокет до конца чтения также не рекомендуется и пакетхак работает через декрипт и обратную сборку пакета.
__________________

Последний раз редактировалось Zubastic; 20.06.2015 в 05:09.
Zubastic вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
itamename-e.dat UFODriverr Lineage II 5 28.02.2021 18:17
Атака союзников на TvT Cyber Работа со скриптами 6 04.07.2014 11:56
PetInfo или... ? WoWan-SM Lineage II 4 19.04.2014 13:26
Мощная DDoS атака на сервер Imbalance Курилка / Yak floor 34 09.09.2013 00:11
ID СТАТОВ BioSchok Серверная часть 0 06.05.2011 17:07


© 2007–2024 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 08:09. Часовой пояс GMT +3.

Вверх