Русское сообщество по скриптингу

[HELP] packet decoding

Все вопросы по скриптингу для Metamod, помощь в редактировании плагинов.
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для
Metamod.


Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [pawn], в противном случае, если тег [pawn] не отображает ваш код, можно использовать тег [code].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник плагина.

[HELP] packet decoding

Сообщение Stolen » 02 фев 2014, 18:02

Всем привет.
Понадобилась функция которая бы расшифровывала пакеты cs
После прогулки по гуглу наткнулся на функции COM_UnMunge2 и COM_Munge2, погуляв ещё немного узнал что именно они (де)шифруют пакеты.


Нашёл osHLDS, выдрал оттуда эти функции, отловил пакеты cs. Получилось следующее:
Вы должны зарегистрироваться, чтобы видеть ссылки.

В принципе, все пакеты до №8 читабельны, а вот с него уже идут в шифрованном виде.


Ну вообщем пробую расшифровать пакет №8, вроде получилось:
Вы должны зарегистрироваться, чтобы видеть ссылки.

Так же получилось расшифровать и другой пакет(dropclient)


Но вот другие пакеты функции не хотят расшифровывать никак :\


Сама функция:

Код: Выделить всё

typedef unsigned long int uint32;


#define FlipBytes32(A) ((((uint32)(A) & 0xff000000) >> 24) | (((uint32)(A) & 0x00ff0000) >> 8)  | (((uint32)(A) & 0x0000ff00) << 8)  | (((uint32)(A) & 0x000000ff) << 24))


static const unsigned char MungeTable2[] = {0x05, 0x61, 0x7A, 0xED, 0x1B, 0xCA, 0x0D, 0x9B, 0x4A, 0xF1, 0x64, 0xC7, 0xB5, 0x8E, 0xDF, 0xA0 };


void Crypt(char *packet, int length, int z, bool unpack)
{
    unsigned int * lbuff = (unsigned int *)packet;
    unsigned int ebpc;
    int i, count = 0;
    int notz = ~z;


    if(length < 1) { return; }


    length = length >> 2;


    while(length--)
    {
        if(unpack)
            ebpc = *lbuff ^ z;
        else
            ebpc = FlipBytes32(*lbuff ^ notz);


        for(i=0;i<4;i++)
            *((unsigned char *)(&ebpc) + i) ^= (((MungeTable2[(count + i) & 0x0F] | (i << i)) | i) | 0xA5);


        if(unpack)
            *lbuff = FlipBytes32(ebpc) ^ notz;
        else
            *lbuff = ebpc ^ z;


            lbuff++;
            count++;
    }
}


Юзаю так:
Crypt(packet, 8, 1, true);
packet - сам пакет(первые 8 байт отрезаются)
8 - размер пакета(уже без первых 8)
1 - номер пакета
true - true == unpack, false == pack


Вообщем то такой вопрос, что не так? Почему не хотят расшифровываться другие пакеты?
http://www.byStolen.ru
Unique ID Provider(Web)
[||||||||||||||||||||] ~25%
Аватара пользователя
Stolen
 
Сообщения: 47
Зарегистрирован: 19 сен 2011, 13:06
Благодарил (а): 49 раз.
Поблагодарили: 81 раз.

Re: [HELP] packet decoding

Сообщение Chuvi » 03 фев 2014, 01:56

кури Netchan_Process

"Незнание английского языка - это ваша проблема."

Плагинами на заказ не занимаюсь. Своих дел хватает.
Аватара пользователя
Chuvi
Модератор
 
Сообщения: 2253
Зарегистрирован: 24 ноя 2011, 08:03
Благодарил (а): 127 раз.
Поблагодарили: 561 раз.

Re: [HELP] packet decoding

Сообщение Asmodai » 03 фев 2014, 11:33

Chuvi, не помогай. Ему явно не для добра это нужно.
Аватара пользователя
Asmodai
 
Сообщения: 458
Зарегистрирован: 24 фев 2011, 20:48
Благодарил (а): 0 раз.
Поблагодарили: 376 раз.
Языки программирования: Counter-Strike 1.6

Re: [HELP] packet decoding

Сообщение Chuvi » 03 фев 2014, 11:47


"Незнание английского языка - это ваша проблема."

Плагинами на заказ не занимаюсь. Своих дел хватает.
Аватара пользователя
Chuvi
Модератор
 
Сообщения: 2253
Зарегистрирован: 24 ноя 2011, 08:03
Благодарил (а): 127 раз.
Поблагодарили: 561 раз.

Re: [HELP] packet decoding

Сообщение Stolen » 03 фев 2014, 12:48

Asmodai писал(а):Chuvi, не помогай. Ему явно не для добра это нужно.

Именно. Напишу себе телепорт и буду траллить весь d-s.ru
http://www.byStolen.ru
Unique ID Provider(Web)
[||||||||||||||||||||] ~25%
Аватара пользователя
Stolen
 
Сообщения: 47
Зарегистрирован: 19 сен 2011, 13:06
Благодарил (а): 49 раз.
Поблагодарили: 81 раз.


Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1