Вернуться   CoderX :: Forums > Основные форумы > Программинг
Войти через OpenID

Программинг Форум для тем связанных с программированием

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
 
 
Опции темы Опции просмотра
Старый 16.02.2010, 23:19   #19
Новичок
 
Регистрация: 27.08.2009
Сообщений: 17
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Jetty пока неопределено
По умолчанию

Бродил, наткнулся.
Мб кто-то будет искать, найдет:
Код:
/*=============== RequestAuthLogin (RSA) ===============*/
        unsigned char l_reqauthlogin[]=
                "\xb2\x00" // Size
                "\x00" // RequestAuthLogin (RSA) packet
                "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
                "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
                "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
                "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
                "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
                "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20"
                "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
                "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
                "\x00\x00\x00\x00"  // GGAuthResponse from GGAuth packet
                "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
                "\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
                "\x00\x00\x00\x00" //CRC
                "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00";
        pktsize = (unsigned char)(l_reqauthlogin[1]*256+l_reqauthlogin[0]);
        print_packet(l_reqauthlogin, pktsize, WITH_SIZE);
        memcpy((l_reqauthlogin+2+1+96+2), login, sizeof(login));
        memcpy((l_reqauthlogin+2+1+112), pwd, sizeof(pwd));
        RSA * rsa_key;
        rsa_key = RSA_new();
        BIGNUM * bn_mod;
        BIGNUM * bn_exp;
        bn_mod = BN_new();
        bn_exp = BN_new();
        bn_mod = BN_bin2bn(RSA_key, sizeof(RSA_key), NULL);
        BN_dec2bn(&bn_exp, "65537");
        rsa_key->n = bn_mod;
        rsa_key->e = bn_exp;
        result = RSA_public_encrypt (128, (l_reqauthlogin+3), (l_reqauthlogin+3), rsa_key, RSA_NO_PADDING);
        if (!result) {
                printf("Error: %i %u\n", result, ERR_get_error());
        }
Код написан на С, пригоден для С++, расчитан на библиотечные функции openssl (в Linux он всегда есть 8] ). Переменная RSA_key не что иное как unsigned char * RSA_key[128]; РСА ключ(точнее модуль) из первого пакета(unscrambleный ).

Код оказался не совсем стабильным, ищу баги ТТ
Ниже правильный код

Добавлено через 2 часа 2 минуты
Кстати а RSA модуль из первого пакета надо переворачивать ?
И если да то на каком этапе ?)

Последний раз редактировалось Jetty, 17.02.2010 в 01:22. Причина: Добавлено сообщение
Jetty вне форума   Ответить с цитированием
 

  CoderX :: Forums > Основные форумы > Программинг



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

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


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

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

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