1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
double NumSerieHD = asNumeroSerieHD.ToDouble();
//-- Initialisation des valeurs --//
double totsecret = 0;
double codesecret = 0;
double codesecretFinal = 0;
double codeJr = 0;
//-- Calcul du nom de la société en Ascii --//
AnsiString nomSocTrim = asSociete.Trim();
char *val;
AnsiString tmpChar;
for (int i=1; i<=nomSocTrim.Length() ;i++)
{
tmpChar = asSociete.SubString(i,1);
val = tmpChar.c_str();
totsecret += val[0];
}
//-- Calcul final du total secret --//
totsecret = totsecret*120148;
//-- Calcul du code secret --//
codesecret=((((NumSerieHD*7141351)/30121952)+17034557+20011957+24071978)*29091984)/13011990;
//-- Calcul du code secret final --//
codesecretFinal = codesecret + totsecret;
//------------------------------------------------------------------------------//
// Compare le résultat trouvé avec le numéro de série enregistré //------------------------------------------------------------------------------//
serialCorrect = RoundTo(codesecretFinal,0);
serialApp = asSerialApp.ToDouble();
if (serialApp != serialCorrect) //-- Non enregistré pour piraté --//
isValide = false;
else
isValide = true;
}
//------------------------------------------------------------------------------//
// Retourne le résultat de la comparaison //
//------------------------------------------------------------------------------//
return isValide; |
Partager