/********************************************************************
*        Keygen.c                                                   *
*                                                                   *
*        - Keygen pour Hexa.exe                                     *
*                                                                   *
*        Auteur                  : - Krom -                         *
*        Date de Création        : - 07 - 09 - 2007 -               *
*        Dernière modification   : - 16 - 11 - 2007 -               *
*                                                                   *
********************************************************************/

  // Importations des bibliothèques

#include <stdio.h>
#include <stdlib.h>

  // Méthode main : début de l'éxécution du programme

int main()
{
  // Déclarations des variables

    char car    = 0;
    long serial = 0;
    long result = 0;
    long count  = 0;
    long count2 = 0;
    char caracter[24];
    long algo1[33] = {0x00, 0xD5, 0x00, 0xF7, 0x24, 0x5D, 0x5C, 0x0A, 0x8C,
    0x10, 0xD6, 0x9E, 0xB5, 0x9C, 0x66, 0x00, 0x24, 0x6F, 0x20, 0x44, 0x4D,
    0xD4, 0x63};
    long ascii  = 0;
    for(count; count < 33; count++)
    {
           caracter[count] = 0;
    }
    count = 0;

  // Début du Code

    printf("\n\n\n");
    printf("                   ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²\n");
    printf("                   ²                                      ²\n");
    printf("                   ²         Keygen pour Hexa.exe         ²\n");
    printf("                   ²                                      ²\n");
    printf("                   ²               By Krom %c              ²\n", 184);
    printf("                   ²                                      ²\n");
    printf("                   ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²\n\n\n\n");
    printf("                               Nom    : ");

    while(caracter[count] != 13 && count < 23 && car != 95 && caracter[count] != 32)
    {
           count++;
           caracter[count] = getch();
           printf("%c", caracter[count]);
    }
    caracter[count] = 0;
    if(count > 10)
    {
        for(count2 = 1; count2 < count; count2++)
        {
             result = algo1[count2] ^ caracter[count2];
             count2--;
             serial = serial + (result * powl(2, count2));
             count2++;
        }
        printf("\n\n                               S%crial : %d \n\n", 130, serial);
    }
    else
    {
        printf("\n\n               Le nom doit contenir au minimum 10 caract%cres ...\n\n", 138);
    }
    printf("\n\n\n\n\n\n");
    system("PAUSE");
    return 0;
} // Fin de la méthode main