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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 24.01.2010, 19:30   #61
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от finomen Посмотреть сообщение
я все понимаю,но в пакете ItemList ПХ кажет фигню.
4194305 коротких мечей это перебор
Файл packets*.ini в настройках правильно выбран?
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Старый 24.01.2010, 19:58   #62
Местный
 
Регистрация: 08.05.2008
Сообщений: 107
Сказал Спасибо: 6
Имеет 12 спасибок в 6 сообщенях
finomen пока неопределено
По умолчанию

хм.. убил соединение, подключился еще раз-все нормально.

Добавлено через 6 минут
ан нет, не все....только первый итем. пробовал и Т1 и Т2

Добавлено через 7 минут
последний d(?) в повторяющемся блоке вно лишний. все стало норм.
__________________
Intel® Core™2 Duo Processor E6400 @ 2.64GHz
Nvidia GeForce 9800GT
3 G Ram
1T HDD
Gentoo Linux x64

Последний раз редактировалось finomen, 24.01.2010 в 19:58. Причина: Добавлено сообщение
finomen вне форума   Ответить с цитированием
Старый 16.02.2010, 23:19   #63
Новичок
 
Регистрация: 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 вне форума   Ответить с цитированием
Старый 17.02.2010, 00:34   #64
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Цитата:
Сообщение от Jetty Посмотреть сообщение
Кстати а RSA модуль из первого пакета надо переворачивать ?
И если да то на каком этапе ?)
не надо его никуда переворачивать, первый байт - старший байт
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Старый 17.02.2010, 01:10   #65
Новичок
 
Регистрация: 27.08.2009
Сообщений: 17
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Jetty пока неопределено
По умолчанию

Цитата:
Сообщение от xkor Посмотреть сообщение
не надо его никуда переворачивать, первый байт - старший байт
Вроде получилось, не крешится криптование... Осталось одно НО... у меня каждый раз получается разных 128 байт, несмотря на то что сервер мне отдает один и тот же публичный РСА ключ... Это нормально ?

Стабильный код
PHP код:
/*=============== 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]);
        
memcpy((l_reqauthlogin+2+1+96+2), loginsizeof(login));
        
memcpy((l_reqauthlogin+2+1+112), pwdsizeof(pwd));
        
RSA rsa_key;
        
rsa_key RSA_new();
        
BIGNUM bn_mod;
        
bn_mod BN_new();
        
bn_mod BN_bin2bn(RSA_keysizeof(RSA_key), NULL);
        
rsa_key->bn_mod;
        
rsa_key RSA_generate_key(102465537NULLNULL);
        
result RSA_public_encrypt (128, (l_reqauthlogin+3), (l_reqauthlogin+3), rsa_keyRSA_NO_PADDING);
        if (
result <= 0) {
                
printf("Error: %i %s\n"resultERR_error_string(ERR_get_error(), NULL));
        } 
        
RSA_free(rsa_key); 

Последний раз редактировалось Jetty, 17.02.2010 в 01:32.
Jetty вне форума   Ответить с цитированием
Старый 17.02.2010, 04:46   #66
Новичок
 
Регистрация: 27.08.2009
Сообщений: 17
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Jetty пока неопределено
По умолчанию

Вообщем что-то не то у меня с РСА

Вот дебаг работы:
Код:
Recieved Init from LS: size 186
Init packet:
Size     | ba 00
Type     | 00
Sess ID  | 6f e7 2b 7f
Proto    | 00 00 c6 21
RSA Data | c0 67 98 42 ed b2 3e db bf 87 1e 05 a1 00 6f 14
RSA Data | a1 eb ca a6 9a aa a3 ae 3a 95 9b 96 cd 31 f9 f1
RSA Data | 3c f4 b6 75 e9 f1 86 c2 1a ac 5e 64 3c d6 2f bd
RSA Data | 93 61 ec ef a5 90 64 27 14 b5 3a e3 b8 aa 4f ed
RSA Data | 02 db 8f e1 26 00 a5 ae 95 e3 5c 54 2c a6 f4 66
RSA Data | f1 30 be 41 d6 d5 bb c7 ae 0d 1b 0f 13 b2 e4 df
RSA Data | 47 5f 77 34 82 6e 03 14 79 5d 3b 59 01 46 ba cf
RSA Data | 3f de 25 66 88 fb 4e 6f 00 a2 27 a4 e9 a8 90 f8
GG vals  | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
BF key   | 6b 60 cb 5b 82 ce 90 b1 cc 2b 6c 55 6c 6c 6c 6c
Unknown  | 00 00 00 00 00 00 00 eb d0 ba bd eb d0 ba bd
Sent RequestGGAuth to LS: size 42
Recieved GGAuth(auth skipped) from LS: size 34
 *GGAuthResponse is 6f e7 2b 7f
Filled RequestAuthLogin packet:
______________________________________________________
0x00 | b2 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x10 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x30 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x50 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x60 | 00 00 20 00 00 62 72 61 69 6e 00 00 00 00 00 00
0x70 | 00 00 00 31 32 33 34 35 36 00 00 00 00 00 00 00
0x80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x90 | 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 00
0xa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0xb0 | 00 00
 *RSA_size is 128
 *Crypted 128 bytes
Ready (not blowfished yet) RequestAuthLogin packet:
______________________________________________________
0x00 | b2 00 00 37 33 c2 f2 77 96 02 67 d4 12 6d 22 1a
0x10 | f1 be a6 67 2b 8d 3d d9 a1 e4 2c 10 1d cc fc 41
0x20 | c3 f4 42 9e 1d 29 e1 cb 7e 0c 64 7e 9f a7 0c 3f
0x30 | af 98 79 34 7f 20 75 53 23 75 81 4b 8a 6a 83 f8
0x40 | 2c 8e 47 06 62 3a 65 33 dc ec b8 3a 60 b1 e2 7f
0x50 | 5c 58 77 4a ba a0 6b d5 68 eb ba 82 7c b5 33 8a
0x60 | 07 67 b1 b3 c9 59 1b a8 67 12 fb cf 31 8f 78 19
0x70 | 5c f4 ff 6b b5 b4 31 85 99 d5 54 a0 cf 9d 47 1c
0x80 | 27 20 51 6f e7 2b 7f 00 00 00 00 00 00 00 00 00
0x90 | 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 00
0xa0 | 00 00 0e be 70 88 00 00 00 00 00 00 00 00 00 00
0xb0 | 00 00
Recieved LoginFail from LS: size 18
______________________________________________________
0x00 | 12 00 01 03 00 00 00 00 00 00 00 01 03 00 00 00
0x10 | 00 00
Hit ENTER to exit...
Ну и пример такого же сдампленного с клиента пакета (RequestAuthLogin в смысле):
Код:
0x00 | b2 00 00 74 f2 83 fa f6 19 be 45 6b b9 95 5b d4
0x10 | 11 9e 49 81 49 1b 57 16 ec bd 38 73 37 81 c1 6c
0x20 | 53 0d 48 61 d6 ad 22 3d 34 cc 17 62 e4 08 a2 37
0x30 | 6a 6c d2 21 11 72 3e 0c 9c 22 c9 01 a9 9c dd 68
0x40 | 40 b8 1e 13 7d 22 60 5b 40 f2 10 a4 42 07 00 e9
0x50 | a0 b3 3e 28 f6 23 cf ea 46 6a f5 87 5b 90 8e 3c
0x60 | 19 d3 fa 36 c4 d3 b3 09 6d 1a 29 30 57 51 60 a8
0x70 | f0 9e f1 e4 fb 60 7a 8d 31 bd 86 62 23 0c 7d 1a
0x80 | a9 91 a7 0b f2 b7 d8 00 00 00 00 00 00 00 00 00
0x90 | 00 00 00 00 00 00 00 08 00 00 00 00 00 00 00 00
0xa0 | 00 00 cf 31 1b f2 00 00 00 00 00 00 00 00 00 00
0xb0 | 00 00
Проследив работу клиента, заметил что криптованая часть не изменяется.
Непойму куда копать в плане шифрования....(код шифрования по РСА выложил выше)
Jetty вне форума   Ответить с цитированием
Старый 17.02.2010, 10:22   #67
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Цитата:
Сообщение от Jetty Посмотреть сообщение
Непойму куда копать
в сторону форт нокса...
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Старый 19.02.2010, 10:27   #68
Новичок
 
Регистрация: 27.08.2009
Сообщений: 17
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Jetty пока неопределено
По умолчанию

Подскажите как шифруются пакеты ГеймСервера посля получения KeyInit...
А то где-то встречаю что ксор, гдето что ксор+блоуфиш....
Jetty вне форума   Ответить с цитированием
Старый 19.02.2010, 21:45   #69
Admin!
 
Аватар для xkor
 
Регистрация: 04.08.2007
Сообщений: 2,360
Сказал Спасибо: 113
Имеет 1,566 спасибок в 651 сообщенях
xkor на пути к лучшему
По умолчанию

Цитата:
Сообщение от Jetty Посмотреть сообщение
ксор+блоуфиш
это только на логин сервере и только в первом пакете от сервера...
на гейм сервере только ксор
__________________
Я здесь практически не появляюсь!, Skype - ikskor
xkor вне форума   Ответить с цитированием
Старый 19.02.2010, 22:33   #70
Новичок
 
Регистрация: 27.08.2009
Сообщений: 17
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Jetty пока неопределено
По умолчанию

Цитата:
Сообщение от xkor Посмотреть сообщение
это только на логин сервере и только в первом пакете от сервера...
на гейм сервере только ксор
Тогда еще вопрос. Я отправляю протовершн - понятно дело нешифрованым, мне в ответ прилетает кейинит, он шифрован ?
Я так понимаю что на типичных фришках(гвардовские которые) щас используется 16-ти байтный XOR ключ. В начале ключ для исходящих пакетов такой же как и для входящих. Далее ключ для шифрования исходящих пакетов увеличивается на сумму пакета, причем сумма прибавляется в младшим 8 байтам только. Входящий ключ не изменяется это верно ?
Jetty вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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