Показать сообщение отдельно
Старый 23.01.2010, 22:36   #50
Местный
 
Регистрация: 08.05.2008
Сообщений: 107
Сказал Спасибо: 6
Имеет 12 спасибок в 6 сообщенях
finomen пока неопределено
По умолчанию

эт я понял...терь я мучаюсь с гейм сервером. а йменно с шифрацией.
так шифрую
C++ Код:
void World::Encrypt(char *data,int sz) {     data&#91;0]=data[0]^xoro[0];     for(int i=1;i<sz;i++)         data&#91;i]=data[i]^xoro[i%16]^data[i-1];     *((long long *)xoro)+=sz; }
так получаю ключ из первого пакета от ГС (в ПХ он назван KeyPacket)
C++ Код:
void World::PDCryptInit(char *data) {     memcpy(xori,data+4,16);     memcpy(xoro,data+4,16);   //  SPProtocolVersion();     crypt=1;     SPAuthLogin(); }
в результате первые 8 байт правильно закодированы, следующие 8 полное гонево, потом опять 8 правильно. что я делаю не так? да, смущает вторая часть XOR ключа, там почти все нули
__________________
Intel® Core™2 Duo Processor E6400 @ 2.64GHz
Nvidia GeForce 9800GT
3 G Ram
1T HDD
Gentoo Linux x64

Последний раз редактировалось finomen, 23.01.2010 в 22:38.
finomen вне форума   Ответить с цитированием