home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / Quantico / km / liw126lk.c.txt < prev    next >
Encoding:
Text File  |  2000-05-25  |  1.2 KB  |  49 lines

  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4.  
  5. int countbits(int val)
  6. {
  7.     int res=0;
  8.  
  9.     while (val) {
  10.         if (val & 1)
  11.             res++;
  12.         val >>= 1;
  13.     }
  14.     return res;
  15. }
  16.  
  17.  
  18. void main()
  19. {
  20.     char name[100];
  21.     int kp1=0, kp2=0, kp3=0, kp4=0, kp5, kp6=12, kp7=345, kp8=678, kp9=901;
  22.     int cnt, lenstr, var1, var2, var3;
  23.  
  24.     printf("Live Image Wizard v1.26 License Key Generator\n");
  25.     printf("Enter the name that will appear on your registration\n>");
  26.     gets(name);
  27.  
  28.     lenstr = strlen(name);
  29.     var1 = lenstr / 4;
  30.     var2 = lenstr / 2;
  31.     var3 = lenstr * 3 / 4;
  32.     for (cnt=0; cnt<lenstr; cnt++) {
  33.         if (var1 > cnt)
  34.             kp1 = (name[cnt] + kp1) % 10;
  35.         if (var2 > cnt)
  36.             kp2 = (name[cnt] + kp2) % 10;
  37.         if (var3 > cnt)
  38.             kp3 = (name[cnt] + kp3) % 10;
  39.         kp4 = (name[cnt] + kp4) % 10;
  40.     }
  41.     kp5 = ( countbits(kp1 * 1000 + kp6) + countbits(kp2 * 1000 + kp7) +
  42.             countbits(kp3 * 1000 + kp8) + countbits(kp4 * 1000 + kp9) + 1 ) % 10;
  43.  
  44.     printf("\nUsername    : %s\n", name);
  45.     printf("License Key : %d%03d%d%03d-%d%03d%d-%03d%d\n",
  46.         kp1, kp6, kp2, kp7, kp3, kp8, kp4, kp9, kp5);
  47.     printf("\nEnter the above information into your Live Image registration\n");
  48.     printf("dialog (NOTE: Username is case sensitive)\n");
  49. }