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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 03.06.2008, 16:45   #131
Гость
 
Сообщений: n/a
По умолчанию

хм.... а моно создать отдельную темку с подобраными ключиками с разным сервакам?
  Ответить с цитированием
Старый 04.06.2008, 11:57   #132
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

Да тут не ключи надо подбирать, а сам алгоритм шифрования

Добавлено через 16 часов 36 минут
А вот я тут(:

шифрование отключено, обход XOR ключа отключен

скил 2F 5B 00 00 00 00 00 00 00 00

шифрованные пакеты:

Код:
3C 4F 87 6C 96 FB B0 25 36 1E -->36 1E 87 6C 96 FB B0 25-->2F 5B 00 00 00 00 00 00 00 00
E4 CA 8D 12 00 BF 93 B3 78 0D -->78 0D 8D 12 00 BF 93 B3 
0B B3 C9 F7 F0 9A 05 B2 96 75 -->96 75 C9 F7 F0 9A 05 B2
C3 99 ED E6 17 70 17 8D 61 60 -->61 60 ED E6 17 70 17 8D
C7 AE E8 6E 1B 22 60 40 A8 9A -->A8 9A E8 6E 1B 22 60 40 
A0 8F 28 E6 6F 64 87 56 D9 AD -->D9 AD 28 E6 6F 64 87 56
EF 31 D9 48 E4 16 4D 58 98 1D -->98 1D D9 48 E4 16 4D 58
BE 70 35 58 F0 7A B9 09 98 0D -->98 0D 35 58 F0 7A B9 09
B3 39 E5 5B 07 D0 2D 01 9D 4C -->9D 4C E5 5B 07 D0 2D 01
7E C1 82 4D C6 7D 7A 3E 6F 8B -->6F 8B 82 4D C6 7D 7A 3E
92 B8 22 F1 90 17 D9 E2 5F 2E -->5F 2E 22 F1 90 17 D9 E2
FD 29 38 2F D0 6B D4 D4 06 89 -->06 89 38 2F D0 6B D4 D4
41 7C CC 77 1B C3 1B 04 6A 0C -->6A 0C CC 77 1B C3 1B 04
F2 4D 00 85 D3 27 D6 A5 78 9C -->78 9C 00 85 D3 27 D6 A5
48 8D 1F 12 6B 1F A6 BA DD 43 -->DD 43 1F 12 6B 1F A6 BA
F9 CC C0 AE 31 6F 9A 0E D8 B6 -->D8 B6 C0 AE 31 6F 9A 0E
78 2E 55 17 D7 A9 22 7B 2C 21 -->2C 21 55 17 D7 A9 22 7B
B0 6A 52 C8 56 12 1C EB 74 F5 -->74 F5 52 C8 56 12 1C EB
FE FC EF B1 21 01 F0 CE 1F 46 -->1F 46 EF B1 21 01 F0 CE
7D 21 CD 2E 6F 41 EF E7 B5 B2 -->B5 B2 CD 2E 6F 41 EF E7
Вкраплений нет, сколько раз юзал скил столько и пакетов...Подскажите направление рытья, а то сам не вижу (

Пакет на разрыв пати выглядит (как в случае Ворона) однотипно (к примеру куча пакетов DB), до посылки другого пакета ...Имеется предположение что алгоритмы шифровки схожи...но все же не одинаковы)

1- трафик исходящий
2- сидя на попе в безлюдном месте юзаю скил с ид $5B
3- в оригинале пакет исходящий должен выглядеть так:2F 38 00 00 00 00 00 00 00 00
4- НЕ ДЕШЕФРИРОВАТЬ ТРАФИК= ВКЛЮЧЕНО
5- во второй колонке указан ключ для того чтобы из перехваченого пакета в первой колонке получить 3-ю колонку
6- закон изменения ключа мне неясен.. помагите кто может-)))))0
(я серьезно неделю голову ломаю додуматься немагу оч сложная ситуация)

Последний раз редактировалось Breadfan, 06.06.2008 в 18:36. Причина: Добавлено сообщение
Breadfan вне форума   Ответить с цитированием
Старый 04.06.2008, 17:11   #133
Пользователь
 
Регистрация: 22.04.2008
Сообщений: 51
Сказал Спасибо: 14
Имеет 36 спасибок в 11 сообщенях
alexsl пока неопределено
По умолчанию

возмжно это тебе поможет.
ИМХО первый байт пакета на вскидку (при условии если брать ключик из самого пакета):
....
3C 4F 87 6C 96 FB B0 25 36 1E
....
предположительно этот пакет содержит ключик 36 1E 87 6C 96 FB B0 25
тогда эта формула истинна для всех пакетов:
pck[0]:=pck[0] xor key[0] xor key[7];
получим 2F

зыы: кстати, повод для размышления, в моем случае 1 байт ключа увелич-ся на размер пакета.
(key[0]:=key[0]+size)

Последний раз редактировалось alexsl, 04.06.2008 в 18:55.
alexsl вне форума   Ответить с цитированием
Старый 06.06.2008, 07:58   #134
Пользователь
 
Регистрация: 22.04.2008
Сообщений: 51
Сказал Спасибо: 14
Имеет 36 спасибок в 11 сообщенях
alexsl пока неопределено
Восклицание все о том же, нид хелп

привет,
танцы с бубном по тихой приносят результат _но_ ...
ИМХО требуется сдвигать ключ, но у муну не получается.
знающие люди подскажите как это дело реализовать?
пробывал так:
delphi Код:
old := Key[0];   old := old or (Key[1] shl $08);   old := old or (Key[2] shl $10);   old := old or (Key[3] shl $18);    old := old+size;    Key[0] := old;    Key[1] := (old shr $08);    Key[2] := (old shr $10);    Key[3] := (old shr $18);

но не получается

данные для расшифровки (юзаю скил, и пишу в чат 111111111)

Код:
A6 71 7B 7B 32 AF 8B 1A 93 A6 
BC 6B 61 61 28 B5 91 00 93 A6
B2 65 6F 6F 26 BB 9F 0E 93 A6 
9F 9B 91 A0 E9 45 61 C1 66 62 68 59 10 BC 98 38 9F 9B 91 A0 E9 45 61 C1 66 62 68 59 10 BC 98 38 9F 9B 91 A0 E9 45 61 C1 66 62 68 59 10 BC 98 38 9F 9B 91 A0 E9 45 61 C1 66 62 68 59 10 BC 98 09 AE 9B 91 91 D8
C3 14 1E 1E 57 CA EE 7F 93 A6 
D9 0E 04 04 4D D0 F4 65 93 A6 
38 3F 35 04 4D E1 C5 65 65 62 68 59 10 BC 98 38 38 3F 35 04 4D E1 C5 65 65 62 68 59 10 BC 98 38 38 3F 35 04 4D E1 C5 65 65 62 68 59 10 BC 98 38 38 3F 35 35 7C E1 C5 54 54 
01 06 0C 3D 74 D8 FC 5C 65 62 68 59 10 BC 98 38 01 06 0C 3D 74 D8 FC 5C 65 62 68 59 10 BC 98 38 01 06 0C 3D 74 D8 FC 5C 65 62 68 59 10 BC 98 38 01 06 0C 0C 45 D8 FC 6D 54 
4A 4D 47 76 3F 93 B7 17 65 62 68 59 10 BC 98 38 4A 4D 47 76 3F 93 B7 17 65 62 68 59 10 BC 98 38 4A 4D 47 76 3F 93 B7 17 65 62 68 59 10 BC 98 38 4A 4D 47 47 0E 93 B7 26 54
93 94 9E AF E6 4A 6E CE 65 62 68 59 10 BC 98 38 93 94 9E AF E6 4A 6E CE 65 62 68 59 10 BC 98 38 93 94 9E AF E6 4A 6E FF 54 62 68 68 21
вот выходные данные, вроде все красиво

Код:
// скилл
2F E2 00 00 00 00 00 00 00 00 ; 93 35 0A 00 49 9D 24 91 ; 10
2F E2 00 00 00 00 00 00 00 00 ; 9D 35 0A 00 49 9D 24 91 ; 10
2F E2 00 00 00 00 00 00 00 00 ; A7 35 0A 00 49 9D 24 91 ; 10
// сау2
38 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 31 00 00 00 00 00 00 00 ; EC 35 0A 00 49 9D 24 91 ; 69
// скилл
2F E2 00 00 00 00 00 00 00 00 ; F6 35 0A 00 49 9D 24 91 ; 10
2F E2 00 00 00 00 00 00 00 00 ; 00 35 0A 00 49 9D 24 91 ; 10
// вот тут происходит сдвиг ключика (значение должно быть 31 а не 32)
// сай2 !!!
38 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 00 00 00 00 00 00 ; 39 35 0A 00 49 9D 24 91 ; 57
38 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 00 00 00 00 00 00 ; 72 35 0A 00 49 9D 24 91 ; 57
38 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 00 00 00 00 00 00 ; AB 35 0A 00 49 9D 24 91 ; 57
38 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 31 00 32 00 31 00 31 00 00 00 03 00 00 00 ; D8 35 0A 00 49 9D 24 91 ; 45
а это , сам код:

delphi Код:
var   old,temp,temp2,i: integer; begin     temp:= 0;     for i:= 0 to size-1 do     begin       temp2:= pck[i] and $ff;       pck[i]:= temp2 xor (Key[i and 7]and $ff) xor temp;       temp:=temp2;     end;     old := Key[0];    // имхо тут надо реализовать сдвиг ключа   // принимают участие 4 первых байта ключа    // old := old or (Key[1] shl $08); // данный метод работает не так как ожидалось   //  old := old or (Key[2] shl $10);   //  old := old or (Key[3] shl $18);     old := old+size;     Key[0] := old;  //   Key[1] := (old shr $08);  //   Key[2] := (old shr $10);  //  Key[3] := (old shr $18); end.

зы: или это вообще не сдвиг ключа?

Последний раз редактировалось alexsl, 06.06.2008 в 08:01.
alexsl вне форума   Ответить с цитированием
Старый 06.06.2008, 13:37   #135
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

Кстати, цикличность в моем случае появится при условии что ключ - 16 байт, а похоже так оно и есть
Breadfan вне форума   Ответить с цитированием
Старый 06.06.2008, 14:24   #136
Пользователь
 
Регистрация: 22.04.2008
Сообщений: 51
Сказал Спасибо: 14
Имеет 36 спасибок в 11 сообщенях
alexsl пока неопределено
По умолчанию кстати вот кусок "стандартной" шифрации

Цитата:
Сообщение от Breadfan Посмотреть сообщение
Кстати, цикличность в моем случае появится при условии что ключ - 16 байт, а похоже так оно и есть
не думаю, алгоритм шифрации по идее не должны кординально менять (т.к. возможны глюки), посмотри как реализовано по умолчанию.

кстати вот кусок "стандартной" шифрации, подробно описано.
Автор: TechnoWiz@rd

Цитата:
Пакеты сервера авторизации шифруются по алгоритму Blowfish. Стандартный ключ по умолчанию в 4-х хрониках:
5F 3B 35 2E 5D 39 34 2D 33 31 3D 3D 2D 25 78 54 21 5E 5B 24. К концу ключа прибавляется символ с кодом 0. В Interlude тип шифрования был изменен - пакет
Init содержит динамический Blowfish ключ случайно генерируемый для каждого клиента. Этот пакет сначала шифруется по алгоритму XOR(ключ генерируется
случайным образом и помещается в конце пакета), а потом шифруется по алгоритму Blowfish, статическим ключом. По умолчанию статический ключ -
6B 60 CB 5B 82 CE 90 B1 CC 2B 6C 55 6C 6C 6C 6C. Все последующие пакеты будут шифроваться динамическим Blowfish ключом. Пакет LoginRequest дополнительно
шифруется по алгоритму RSA. Ключ состоит из следующих частей: B = 1024, E = 65537, N = передается в пакете Init. Вместе эти 3 части составляют целый RSA
ключ. Байты N в пакете зашифрованы функцией:
Код:
void scrambleMod( char *n )
{
      typedef unsigned char byte;
      int i;

      for( i=0; i<4; i++ ) {
            byte temp = n[0x00 + i];
            n[0x00 + i] = n[0x4d + i];
            n[0x4d + i] = temp;
      };

      // step 2 xor first 0x40 bytes with last 0x40 bytes
      for( i=0; i<0x40; i++ ) {
            n[i] = (byte)(n[i] ^ n[0x40 + i]);
      };
 
      // step 3 xor bytes 0x0d-0x10 with bytes 0x34-0x38
      for( i=0; i<4; i++ ) {
            n[0x0d + i] = (byte)(n[0x0d + i] ^ n[0x34 + i]);
      };

      // step 4 xor last 0x40 bytes with first 0x40 bytes
      for( i=0; i<0x40; i++ ) {
            n[0x40 + i] = (byte)(n[0x40 + i] ^ n[i]);
      };
};
Для расшифровки можно воспользоваться следующей функцией:
Код:
void unscrambleMod( char *n )
{
      typedef unsigned char byte;
      int i;

      // step 4 xor last 0x40 bytes with first 0x40 bytes
      for( i=0; i<0x40; i++ ) {
            n[0x40 + i] = (byte)(n[0x40 + i] ^ n[i]);
      };

      // step 3 xor bytes 0x0d-0x10 with bytes 0x34-0x38
      for( i=0; i<4; i++ ) {
            n[0x0d + i] = (byte)(n[0x0d + i] ^ n[0x34 + i]);
      };

      // step 2 xor first 0x40 bytes with last 0x40 bytes
      for( i=0; i<0x40; i++ ) {
            n[i] = (byte)(n[i] ^ n[0x40 + i]);
      };

      for( i=0; i<4; i++ ) {
            byte temp = n[0x00 + i];
            n[0x00 + i] = n[0x4d + i];
            n[0x4d + i] = temp;
      };
};
Также есть сервера использующие старый протокол авторизации(ревизия 785a) который не шифрует пакет Init, а остальные шифрует Blowfish
ключом длинной 21 байт. При этом пакет LoginRequest шифруется только по алгоритму Blowfish, без дополнительного шифрования RSA.
Для шифрования пакетов гейм сервера используется алгоритм XOR. Ключ XOR генерируется случайно и передается клиенту в пакете CryptInit. Функции
шифрования и дешифрации приведены ниже:
Код:
/* Декодирует данные */
void decrypt( unsigned char *data, unsigned int len, unsigned char *Key )
{

        int temp = 0;

        for( unsigned int i = 0; i < len; ++i ) {
               int temp2 = data[i] & 0xff;
               data[i] = (temp2 ^ (Key[i & 15] & 0xff) ^ temp);
               temp = temp2;
        };

        

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

        old += len;

        Key[8] = old &0xff;
        Key[9] = (old >> 0x08) & 0xff;
        Key[10] = (old >> 0x10) & 0xff;
        Key[11] = (old >> 0x18) & 0xff;
};

/* Кодирует данные */
void encrypt( unsigned char *data, unsigned int len, unsigned char *Key )
{
        int temp = 0;

        for( unsigned int i = 0; i < len; i++) {
               int temp2 = data[i] & 0xff;
               data[i] = (temp2 ^ (Key[i & 15] & 0xff) ^ temp);
               temp = data[i];
        };

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

        old += len;

        Key[8] = old &0xff;
        Key[9] = (old >> 0x08) & 0xff;
        Key[10] = (old >> 0x10) & 0xff;
        Key[11] = (old >> 0x18) & 0xff;
};
С каждым кодированным/декодированным пакетом ключ изменяется на длину пакета
имхо, после этого момента
Код:
        int old = Key[8] & 0xff;
        old |= (Key[9] << 0x08) & 0xff00;
        old |= (Key[10] << 0x10) & 0xff0000;
        old |= (Key[11] << 0x18) & 0xff000000;

        old += len;

        Key[8] = old &0xff;
        Key[9] = (old >> 0x08) & 0xff;
        Key[10] = (old >> 0x10) & 0xff;
        Key[11] = (old >> 0x18) & 0xff;
и добавляются какието махинации с ключами.
удачи

Последний раз редактировалось alexsl, 06.06.2008 в 14:35.
alexsl вне форума   Ответить с цитированием
Старый 06.06.2008, 14:51   #137
Местный
 
Аватар для nezabudkin
 
Регистрация: 06.03.2008
Сообщений: 154
Сказал Спасибо: 46
Имеет 130 спасибок в 38 сообщенях
nezabudkin
По умолчанию А вот шифрование на моем серве!

После ряда обновлений, получил злобно зашифрованный трафик. Че делать ваще не знаю...

И так:

CryptInit: 00 01 C2 F5 11 18 01 00 00 00 01 00 00 00
тут все стандартно, ключик 4-х байтный C2 F5 11 18, естественно при каждом новом сеансе ключик меняется.

ксорим его на константу 82 93 1A 41
и получаем начальный ключик вида x1 x2 00 00 x3 x4 00 00
где
x1 = C2 xor 82
x2 = F5 xor 93
x3 = 11 xor 1A
x4 = 18 xor 41

Начальный ключик верен для обоих направлений.

А вот дальше алгоритмы совершенно разные.
Вот пример трафика от клиента к серверу (зажимаю кнопку сесть/встать)

Код:
80 22 1C 39 6A 30 11 A2 C5 22 == C5 22 1C 39 6A 30 11 A2 == 45 00 00 00 00 00 00 00 00 00 -- 1
BB 03 AB 36 6B 39 7A 6A FE 03 == FE 03 AB 36 6B 39 7A 6A == 45 00 00 00 00 00 00 00 00 00 -- 2
1A 5C B0 A9 20 D4 8C 98 5F 5C == 5F 5C B0 A9 20 D4 8C 98 == 45 00 00 00 00 00 00 00 00 00 -- 3
A1 F4 2E D1 D0 F6 46 96 E4 F4 == E4 F4 2E D1 D0 F6 46 96 == 45 00 00 00 00 00 00 00 00 00 -- 4
EC 4C 3E D6 41 CA CB 41 A9 4C == A9 4C 3E D6 41 CA CB 41 == 45 00 00 00 00 00 00 00 00 00 -- 5
C9 C0 FC 66 3F 7D 8A F2 8C C0 == 8C C0 FC 66 3F 7D 8A F2 == 45 00 00 00 00 00 00 00 00 00 -- 6
4A BB A7 70 35 C5 D3 B1 0F BB == 0F BB A7 70 35 C5 D3 B1 == 45 00 00 00 00 00 00 00 00 00 -- 7
A0 46 DE 4A 6C 15 C5 62 E5 46 == E5 46 DE 4A 6C 15 C5 62 == 45 00 00 00 00 00 00 00 00 00 -- 8
EA 5F 4B E2 11 98 DE EF AF 5F == AF 5F 4B E2 11 98 DE EF == 45 00 00 00 00 00 00 00 00 00 -- 9
0D 63 D9 C3 B7 B7 4D 4A 48 63 == 48 63 D9 C3 B7 B7 4D 4A == 45 00 00 00 00 00 00 00 00 00 -- 10
55 A9 44 35 85 80 62 11 10 A9 == 10 A9 44 35 85 80 62 11 == 45 00 00 00 00 00 00 00 00 00 -- 11
3E 5C DB 10 F0 30 CC DC 7B 5C == 7B 5C DB 10 F0 30 CC DC == 45 00 00 00 00 00 00 00 00 00 -- 12
B4 0C 22 EA 3E 4D B5 56 F1 0C == F1 0C 22 EA 3E 4D B5 56 == 45 00 00 00 00 00 00 00 00 00 -- 13
49 E7 DC B1 4D 67 22 3F 0C E7 == 0C E7 DC B1 4D 67 22 3F == 45 00 00 00 00 00 00 00 00 00 -- 14
B2 14 4B FF A7 5B D4 1F F7 14 == F7 14 4B FF A7 5B D4 1F == 45 00 00 00 00 00 00 00 00 00 -- 15
3C 81 85 27 54 1A BC 01 79 81 == 79 81 85 27 54 1A BC 01 == 45 00 00 00 00 00 00 00 00 00 -- 16
3A 2B 87 69 A7 D8 85 FC 7F 2B == 7F 2B 87 69 A7 D8 85 FC == 45 00 00 00 00 00 00 00 00 00 -- 17
25 3D 44 38 E7 6D A0 10 60 3D == 60 3D 44 38 E7 6D A0 10 == 45 00 00 00 00 00 00 00 00 00 -- 18
37 84 FB 6B 5D 8D CF B1 72 84 == 72 84 FB 6B 5D 8D CF B1 == 45 00 00 00 00 00 00 00 00 00 -- 19
94 3A BE D8 33 18 14 31 D1 3A == D1 3A BE D8 33 18 14 31 == 45 00 00 00 00 00 00 00 00 00 -- 20
2B 05 96 09 08 E3 8F 52 6E 05 == 6E 05 96 09 08 E3 8F 52 == 45 00 00 00 00 00 00 00 00 00 -- 21
0D 88 5A A1 F3 4C F9 14 48 88 == 48 88 5A A1 F3 4C F9 14 == 45 00 00 00 00 00 00 00 00 00 -- 22
38 3B 0F A3 76 34 AF C2 7D 3B == 7D 3B 0F A3 76 34 AF C2 == 45 00 00 00 00 00 00 00 00 00 -- 23
E5 F7 1B D7 29 68 AD F4 A0 F7 == A0 F7 1B D7 29 68 AD F4 == 45 00 00 00 00 00 00 00 00 00 -- 24
92 FA B1 82 6A 5C 25 63 D7 FA == D7 FA B1 82 6A 5C 25 63 == 45 00 00 00 00 00 00 00 00 00 -- 25
64 13 C2 7D 6C D1 EF 5C 21 13 == 21 13 C2 7D 6C D1 EF 5C == 45 00 00 00 00 00 00 00 00 00 -- 26
D5 61 CC 39 21 CB 0F F2 90 61 == 90 61 CC 39 21 CB 0F F2 == 45 00 00 00 00 00 00 00 00 00 -- 27
1C 29 55 96 53 C6 B6 55 59 29 == 59 29 55 96 53 C6 B6 55 == 45 00 00 00 00 00 00 00 00 00 -- 28
59 84 16 30 F1 AB DF D5 1C 84 == 1C 84 16 30 F1 AB DF D5 == 45 00 00 00 00 00 00 00 00 00 -- 29
50 2E BC 04 9C 44 1E DC 15 2E == 15 2E BC 04 9C 44 1E DC == 45 00 00 00 00 00 00 00 00 00 -- 30
3A 5F D5 1C DD 8D 9B 4A 7F 5F == 7F 5F D5 1C DD 8D 9B 4A == 45 00 00 00 00 00 00 00 00 00 -- 31
27 BA C8 6D 19 2B B2 93 62 BA == 62 BA C8 6D 19 2B B2 93 == 45 00 00 00 00 00 00 00 00 00 -- 32
52 FA DB BC B1 61 45 28 17 FA == 17 FA DB BC B1 61 45 28 == 45 00 00 00 00 00 00 00 00 00 -- 33
BF 10 FF C3 A1 65 DC F7 FA 10 == FA 10 FF C3 A1 65 DC F7 == 45 00 00 00 00 00 00 00 00 00 -- 34
73 3D E1 6F 35 7A 39 7A 36 3D == 36 3D E1 6F 35 7A 39 7A == 45 00 00 00 00 00 00 00 00 00 -- 35
DE 02 2E 4B C6 12 8F C8 9B 02 == 9B 02 2E 4B C6 12 8F C8 == 45 00 00 00 00 00 00 00 00 00 -- 36
A1 E1 59 C6 AB 8C CC 66 E4 E1 == E4 E1 59 C6 AB 8C CC 66 == 45 00 00 00 00 00 00 00 00 00 -- 37
81 38 19 1A BB AF EC 19 C4 38 == C4 38 19 1A BB AF EC 19 == 45 00 00 00 00 00 00 00 00 00 -- 38
B6 40 5F CB B7 A2 92 20 F3 40 == F3 40 5F CB B7 A2 92 20 == 45 00 00 00 00 00 00 00 00 00 -- 39
88 B9 BF E1 CA 60 B7 1F CD B9 == CD B9 BF E1 CA 60 B7 1F == 45 00 00 00 00 00 00 00 00 00 -- 40
CD 80 D1 1C AC 1A 15 6A 88 80 == 88 80 D1 1C AC 1A 15 6A == 45 00 00 00 00 00 00 00 00 00 -- 41
55 7A 7D 34 51 19 7F D8 10 7A == 10 7A 7D 34 51 19 7F D8 == 45 00 00 00 00 00 00 00 00 00 -- 42
30 70 DA 87 FA 65 45 A7 75 70 == 75 70 DA 87 FA 65 45 A7 == 45 00 00 00 00 00 00 00 00 00 -- 43
92 24 C1 F2 4D D7 A4 E8 D7 24 == D7 24 C1 F2 4D D7 A4 E8 == 45 00 00 00 00 00 00 00 00 00 -- 44
43 DE F1 08 F2 D9 E5 DB 06 DE == 06 DE F1 08 F2 D9 E5 DB == 45 00 00 00 00 00 00 00 00 00 -- 45
6E B5 3F 47 63 F8 CE 7D 2B B5 == 2B B5 3F 47 63 F8 CE 7D == 45 00 00 00 00 00 00 00 00 00 -- 46
14 4C 47 70 FC BD BE 49 51 4C == 51 4C 47 70 FC BD BE 49 == 45 00 00 00 00 00 00 00 00 00 -- 47
22 BF F2 56 06 79 A3 80 67 BF == 67 BF F2 56 06 79 A3 80 == 45 00 00 00 00 00 00 00 00 00 -- 48
88 22 1C 4E 7A F0 44 72 CD 22 == CD 22 1C 4E 7A F0 44 72 == 45 00 00 00 00 00 00 00 00 00 -- 49
4F 68 38 EF 96 B7 3D 04 0A 68 == 0A 68 38 EF 96 B7 3D 04 == 45 00 00 00 00 00 00 00 00 00 -- 50
C9 3A 05 49 79 9F 4F E1 8C 3A == 8C 3A 05 49 79 9F 4F E1 == 45 00 00 00 00 00 00 00 00 00 -- 51
CD CF D6 B4 DC 2C 59 FD 88 CF == 88 CF D6 B4 DC 2C 59 FD == 45 00 00 00 00 00 00 00 00 00 -- 52
2B E8 A7 37 AB F0 01 E3 6E E8 == 6E E8 A7 37 AB F0 01 E3 == 45 00 00 00 00 00 00 00 00 00 -- 53
94 A5 95 24 F8 B2 2A BA D1 A5 == D1 A5 95 24 F8 B2 2A BA == 45 00 00 00 00 00 00 00 00 00 -- 54
F8 95 33 CE 1B A5 A2 21 BD 95 == BD 95 33 CE 1B A5 A2 21 == 45 00 00 00 00 00 00 00 00 00 -- 55
FE A4 CF 8F EA D1 14 F9 BB A4 == BB A4 CF 8F EA D1 14 F9 == 45 00 00 00 00 00 00 00 00 00 -- 56
2C 5C B8 67 60 A1 0E 23 69 5C == 69 5C B8 67 60 A1 0E 23 == 45 00 00 00 00 00 00 00 00 00 -- 57
31 26 67 23 C4 5A F3 3D 74 26 == 74 26 67 23 C4 5A F3 3D == 45 00 00 00 00 00 00 00 00 00 -- 58
3B 1B 54 1B 4F 52 31 9C 7E 1B == 7E 1B 54 1B 4F 52 31 9C == 45 00 00 00 00 00 00 00 00 00 -- 59
26 A5 48 82 58 45 E5 F8 63 A5 == 63 A5 48 82 58 45 E5 F8 == 45 00 00 00 00 00 00 00 00 00 -- 60
D9 1A CE B7 09 20 30 84 9C 1A == 9C 1A CE B7 09 20 30 84 == 45 00 00 00 00 00 00 00 00 00 -- 61
78 3A 12 24 44 EA 5A C9 3D 3A == 3D 3A 12 24 44 EA 5A C9 == 45 00 00 00 00 00 00 00 00 00 -- 62
F9 93 77 78 D9 35 84 05 BC 93 == BC 93 77 78 D9 35 84 05 == 45 00 00 00 00 00 00 00 00 00 -- 63
77 EA 8E DA BD F7 3A BB 32 EA == 32 EA 8E DA BD F7 3A BB == 45 00 00 00 00 00 00 00 00 00 -- 64
6E C1 16 99 D5 48 E0 16 2B C1 == 2B C1 16 99 D5 48 E0 16 == 45 00 00 00 00 00 00 00 00 00 -- 65
FD 6E E2 D4 0D C8 45 ED B8 6E == B8 6E E2 D4 0D C8 45 ED == 45 00 00 00 00 00 00 00 00 00 -- 66
D4 71 FD 35 0D 4C B4 9F 91 71 == 91 71 FD 35 0D 4C B4 9F == 45 00 00 00 00 00 00 00 00 00 -- 67
68 9B D4 C3 CA 66 CF 67 2D 9B == 2D 9B D4 C3 CA 66 CF 67 == 45 00 00 00 00 00 00 00 00 00 -- 68
1. Столбцы: пакет == ключ == дешифрованный пакет -- порядковый номер пакета
2. Вкраплений нет, как тока появляется вкрапление, порядковый номер станет = 0.
3. С пакета уже снята часть шифрации алгоритмом (я изменил newxor.dll):
delphi Код:
procedure TXorCodingOut.DecryptGP(var Data; const Size: Word); var   k:integer;   pck:array[0..$4FFF] of Byte absolute Data; begin   for k:=size-1 downto 1 do pck[k]:=pck[k] xor pck[k-1]; end;

Че делать дальше, вообще мыслей нету ((
Ключ в пакете явно просматривается, но алгоритм изменения неясен.

Последний раз редактировалось nezabudkin, 06.06.2008 в 18:57.
nezabudkin вне форума   Ответить с цитированием
Старый 06.06.2008, 15:13   #138
Пользователь
 
Регистрация: 22.04.2008
Сообщений: 51
Сказал Спасибо: 14
Имеет 36 спасибок в 11 сообщенях
alexsl пока неопределено
По умолчанию

Цитата:
Сообщение от nezabudkin Посмотреть сообщение
3. С пакета уже снята часть шифрации алгоритмом (я изменил newxor.dll):
этого не стоило пока делать, давай т.с. в первозданном виде

Последний раз редактировалось alexsl, 06.06.2008 в 15:18.
alexsl вне форума   Ответить с цитированием
Старый 06.06.2008, 19:18   #139
Местный
 
Аватар для nezabudkin
 
Регистрация: 06.03.2008
Сообщений: 154
Сказал Спасибо: 46
Имеет 130 спасибок в 38 сообщенях
nezabudkin
По умолчанию

Цитата:
Сообщение от alexsl Посмотреть сообщение
temp2:= pck[i] and $ff;
А что ты хочешь получить этой командой?
это же всеравно, что temp2:= pck[i]
nezabudkin вне форума   Ответить с цитированием
Старый 06.06.2008, 19:27   #140
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Может стоит разные фришарды в разных топиках исследовать? По моему каша будет если дальше так пойдет.
NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился спасибкой от:
Ответ

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



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

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


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

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

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