Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг > Шифрации серверов
Войти через OpenID

Шифрации серверов Здесь разбираемся с алгоритмами шифрации различных серверов

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
 
 
Опции темы Опции просмотра
Старый 08.03.2011, 06:18   #3
Пользователь
 
Аватар для DzumoHu4
 
Регистрация: 28.06.2008
Сообщений: 73
Сказал Спасибо: 7
Имеет 24 спасибок в 16 сообщенях
DzumoHu4 пока неопределено
По умолчанию

Сервер
Код:
package com.lameguard.crypt.impl;

import com.lameguard.crypt.LameCrypt;

public class L2S
    implements LameCrypt
{

    public L2S()
    {
        key = new byte[16];
    }

    public void setup(byte key[], byte iv[])
    {
        System.arraycopy(key, 0, this.key, 0, 16);
    }

    public void crypt(byte raw[], int offset, int size)
    {
        int temp = 0;
        for(int i = 0; i < size; i++)
        {
            int temp2 = raw[offset + i] & 0xff;
            temp = temp2 ^ key[i & 0xf] ^ temp;
            raw[offset + i] = (byte)temp;
        }

        int old = key[8] & 0xff;
        old |= key[9] << 8 & 0xff00;
        old |= key[10] << 16 & 0xff0000;
        old |= key[11] << 24 & 0xff000000;
        old += size;
        key[8] = (byte)(old & 0xff);
        key[9] = (byte)(old >> 8 & 0xff);
        key[10] = (byte)(old >> 16 & 0xff);
        key[11] = (byte)(old >> 24 & 0xff);
    }

    private byte key[];
}
Ключи задаются отдельно для Сервера и Клиента;
После этого числовые ключи помещаются в байт массив, которые "расширяются функцией LameCrypt.expandKey.
Дальше затрудняюсь описать так как плохо понимаю яву но предполагаю следующее.
c.setup(ключ.Начальный,Расширенная версия) - клиент
s.setup(ключ.Начальный,Расширенная версия) - сервер
Расшифровка пакетов от клиента выполняется функцией из VMPC()
Код:
 public void crypt(byte raw[], int offset, int size)
    {
        for(int i = 0; i < size; i++)
        {
            s = P[s + P[n & 0xff] & 0xff];
            byte z = P[P[P[s & 0xff] & 0xff] + 1 & 0xff];
            byte temp = P[n & 0xff];
            P[n & 0xff] = P[s & 0xff];
            P[s & 0xff] = temp;
            n = (byte)(n + 1 & 0xff);
            raw[offset + i] = (byte)(raw[offset + i] ^ z);
        }

    }
В которой задается размер, смещение....
Пока все может будут новые мысли.Буду писать сюда.(и вам рекомендую)
Как определить что сервер под защитой LameGuard
l2.bin как процесс клиента
папки на сайте с апдейтером(lame/updater.exe например)
нестандартные порты(хотя тут могут быть варианты)
Каждый пакет отличается от предидущего чуть больше чем полностью.(хотя тут тоже могут быть варианты)
В общем товарищи развиваем

Если вы решили что я написал херню(я яву плохо знаю о чем писал выше) уважайте чувства автора бишь меня, "помягше" как говорил Аркадий Райкин.

Последний раз редактировалось DzumoHu4, 08.03.2011 в 06:23.
DzumoHu4 вне форума   Ответить с цитированием
 

  CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг > Шифрации серверов


Опции темы
Опции просмотра

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

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


Часовой пояс GMT +4, время: 05:29.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!