Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   ArcheAge (https://forum.zone-game.info/forumdisplay.php?f=187)
-   -   Дешифровка и каша для раздумья (https://forum.zone-game.info/showthread.php?t=35687)

nikes 30.06.2014 19:47

Дешифровка и каша для раздумья
 
Код:

byte Inline(ref uint cry)
{
    cry += 3532013U;
    byte n = (byte)(cry >> 16);
    return (byte)(((int)n == 0) ? 254 : n);
}

byte[] CtoSDecrypt(byte[] BodyPacket, uint UnkKey)
{
    byte[] Array = new byte[BodyPacket.Length];
    uint cry = (uint)((ulong)UnkKey + (ulong)BodyPacket.Length) * UnkKey ^ 1973428001u;
    int n = 4 * (BodyPacket.Length / 4);
    for (int i = n - 1; i >= 0; i--)
        Array[i] = (byte)((uint)BodyPacket[i] ^ (uint)Inline(ref cry));
    for (int i = n; i < BodyPacket.Length; i++)
        Array[i] = (byte)((uint)BodyPacket[i] ^ (uint)Inline(ref cry));
    return Array;
}

byte[] StoCDecrypt(byte[] BodyPacket)
{
    byte[] Array = new byte[BodyPacket.Length];
    uint cry = (uint)(BodyPacket.Length ^ 522286496);
    int n = 4 * (BodyPacket.Length / 4);
    for (int i = n - 1; i >= 0; i--)
        Array[i] = (byte)((uint)BodyPacket[i] ^ (uint)Inline(ref cry));
    for (int i = n; i < BodyPacket.Length; i++)
        Array[i] = (byte)((uint)BodyPacket[i] ^ (uint)Inline(ref cry));
    return Array;
}

Так как я зашел в тупик и мне не кто не смог помочь, ну что....
Вот собственно то до чего я дошел с Идой.
Ну и собственно сама каша, где или что такое UnkKey который нужен для декрипта C->S пакетов.

flopix 30.06.2014 19:52

Re: Дешифровка и каша для раздумья
 
Лучше зацепится внутри клиента и вытаскивать чистые пакеты после дешифровки. Алгоритм шифрации наверняка будут постоянно усложнять и менять.

nikes 30.06.2014 19:58

Re: Дешифровка и каша для раздумья
 
Увы но для создание емуль мне нужна это декрипт.

luna9966 30.06.2014 22:23

Re: Дешифровка и каша для раздумья
 
Цитата:

Сообщение от nikes (Сообщение 368436)
Код:

byte Inline(ref uint cry)
{
    cry += 3532013U;
    byte n = (byte)(cry >> 16);
    return (byte)(((int)n == 0) ? 254 : n);
}

byte[] CtoSDecrypt(byte[] BodyPacket, uint UnkKey)
{
    byte[] Array = new byte[BodyPacket.Length];
    uint cry = (uint)((ulong)UnkKey + (ulong)BodyPacket.Length) * UnkKey ^ 1973428001u;
    int n = 4 * (BodyPacket.Length / 4);
    for (int i = n - 1; i >= 0; i--)
        Array[i] = (byte)((uint)BodyPacket[i] ^ (uint)Inline(ref cry));
    for (int i = n; i < BodyPacket.Length; i++)
        Array[i] = (byte)((uint)BodyPacket[i] ^ (uint)Inline(ref cry));
    return Array;
}

byte[] StoCDecrypt(byte[] BodyPacket)
{
    byte[] Array = new byte[BodyPacket.Length];
    uint cry = (uint)(BodyPacket.Length ^ 522286496);
    int n = 4 * (BodyPacket.Length / 4);
    for (int i = n - 1; i >= 0; i--)
        Array[i] = (byte)((uint)BodyPacket[i] ^ (uint)Inline(ref cry));
    for (int i = n; i < BodyPacket.Length; i++)
        Array[i] = (byte)((uint)BodyPacket[i] ^ (uint)Inline(ref cry));
    return Array;
}

Так как я зашел в тупик и мне не кто не смог помочь, ну что....
Вот собственно то до чего я дошел с Идой.
Ну и собственно сама каша, где или что такое UnkKey который нужен для декрипта C->S пакетов.

лол, что это? Это ксор?:cj:

Onax 04.07.2014 19:08

Re: Дешифровка и каша для раздумья
 
было бы очень офигенно если бы кто-то поделился инфой откуда берется UnkKey

Deazer 05.07.2014 00:05

Re: Дешифровка и каша для раздумья
 
Цитата:

Сообщение от Onax (Сообщение 368793)
было бы очень офигенно если бы кто-то поделился инфой откуда берется UnkKey

тебе об этом могут рассказать мои друзья Алиса и Боб

Onax 05.07.2014 01:29

Re: Дешифровка и каша для раздумья
 
алиса присылает бобу его?
но я уже перепробовал все варианты типа ворлд-кукисов и прочей мути что идет в первых пакетах

данные меняются при каждом перелогине, ясно это что-то динамическое и присылает сервер(ему же распаков)
трабла что я не шарю в реверсе, если там банально (ворлдкукис ^ 0x25) я никак не найду этот 25


Текущее время: 03:47. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot