41 #ifndef __CRYPTBASE_H__ 42 #define __CRYPTBASE_H__ 44 #define CRYPT_AUTO_VALUE 0x80 46 #define CRYPT_GAMEKEY_LENGTH 6 47 #define CRYPT_GAMEKEY_COUNT 25 49 #define CRYPT_GAMESEED_LENGTH 8 50 #define CRYPT_GAMESEED_COUNT 25 52 #define CRYPT_GAMETABLE_START 1 53 #define CRYPT_GAMETABLE_STEP 3 54 #define CRYPT_GAMETABLE_MODULO 11 55 #define CRYPT_GAMETABLE_TRIGGER 21036 59 #define N2L( C, LL ) \ 60 LL = ( (unsigned int)( *( ( C )++ ) ) ) << 24, LL |= ( (unsigned int)( *( ( C )++ ) ) ) << 16, \ 61 LL |= ( (unsigned int)( *( ( C )++ ) ) ) << 8, LL |= ( (unsigned int)( *( ( C )++ ) ) ) 62 #define L2N( LL, C ) \ 63 *( ( C )++ ) = (unsigned char)( ( ( LL ) >> 24 ) & 0xff ), \ 64 *( ( C )++ ) = (unsigned char)( ( ( LL ) >> 16 ) & 0xff ), \ 65 *( ( C )++ ) = (unsigned char)( ( ( LL ) >> 8 ) & 0xff ), \ 66 *( ( C )++ ) = (unsigned char)( ( ( LL ) ) & 0xff ) 67 #define ROUND( LL, R, S, P ) \ 69 LL ^= ( ( S[( R >> 24 )] + S[0x0100 + ( ( R >> 16 ) & 0xff )] ) ^ \ 70 S[0x0200 + ( ( R >> 8 ) & 0xff )] ) + \ 71 S[0x0300 + ( (R)&0xff )] 74 #include "../sockets.h" 75 #include "../uconst.h" 99 virtual void Init(
void* pvSeed,
int type =
typeAuto ) = 0;
100 virtual void Encrypt(
void* pvIn,
void* pvOut,
int len )
123 unsigned int m_masterKey[2];
128 virtual void SetMasterKeys(
unsigned int masterKey1,
unsigned int masterKey2 ) = 0;
131 virtual void Decrypt(
void* pvIn,
void* pvOut,
int len ) = 0;
135 #endif //__CRYPTBASE_H__
virtual int Receive(void *buffer, int max_expected, SOCKET socket)=0
virtual void Init(void *pvSeed, int type=typeAuto)=0
virtual void Encrypt(void *pvIn, void *pvOut, int len)