04.08.2011, 13:17
|
#10
|
ПроЭктировщик
Регистрация: 24.02.2011
Сообщений: 188
Написано 13 полезных сообщений (для 18 пользователей)
|
Ответ: Ключ на Физикс
int scanLine (char* str)
{
if (str[0]=='=')
if (str[1]=='=')
if (str[2]=='1')
if (str[3]=='e')
if (str[4]=='<')
if (str[5]=='_')
if (str[6]=='4')
if (str[7]=='2')
if (str[8]=='j')
if (str[9]=='i')
if (str[10]=='6')
if (str[11]=='6')
if (str[13]==']')
if (str[14]=='1')
if (str[15]=='a')
if (str[16]=='d')
if (str[17]=='U')
if (str[18]=='2')
if (str[19]=='2')
if (str[26]=='7')
if (str[27]=='e')
ShowError("Key is invalid!!!!", "pxCreateWorld", __FILE__ , __LINE__);
//==1e<_42ji66\]1adU22]T0a]d7eel4c
unsigned char hashText[17];
hashText[16] = 0;
unsigned char hash[17];
hash[16] = 0;
unsigned char text[17];//зашифрованное имя
text[16] = 0;
unsigned char out[33];
out[32] = 0;
for (int i = 0; i < 32; i++)
{
out[i] = str[i];
}
//Формируем регкод из зашифрованного имени и хеша
//Standart
/* for (int i = 0; i < 8; i++) {
text[2*i+1] = out[i*4];
text[2*i] = out[i*4+1];
hash[2*i+1] = out[i*4+2];
hash[2*i]= out[i*4+3];
}*/
//PRO
for (int i = 0; i < 8; i++) {
text[2*i] = out[i*4];
text[2*i+1] = out[i*4+1];
hash[2*i] = out[i*4+2];
hash[2*i+1]= out[i*4+3];
}
for (int i = 0; i < 16; i++) text[i] = (text[i] > 0x4f)?(0xce - text[i]):(0x7f-text[i]);
//Вычисляем хеш
unsigned __int64 hashvalue = Hash(text,16);
sprintf((char*)hashText,"%0x%0x",(unsigned int)(hashvalue >> 32),(unsigned int)(hashvalue & 0xffffffff));
if ( mstrcmp((char*)hashText,(char*)hash)) return 20000 + int(NxMath::rand(-100,100));
else return 0;
}
А в какой проге его генерировать? Так как в с++ выдает ошибку
|
(Offline)
|
|