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

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. #include "rknpc.c"
  6.  
  7. char key1[] = "$4DBEE5E6";
  8. char key2[] = "$85A87001";
  9.  
  10. void main()
  11. {
  12.     char name[60], pad1[60];
  13.     unsigned char buf[80], nlen, plen;
  14.     int i;
  15.     unsigned short var1=0x9c9d, var2=0x0677;
  16.     unsigned short var3, var4, var5, var6, tind;
  17.     unsigned long tval;
  18.     
  19.     printf("RK NetPlus 2.3 License Key Generator\n");
  20.     printf("Enter the name that will appear in your NetPlus (up to 50 chars)\n>");
  21.     scanf("%50[^\n]", name);
  22.  
  23.     nlen = strlen(name);
  24.     plen = 71 - sizeof(key1) - sizeof(key2) - nlen - 1;
  25.     for (i=0; i<plen; i++)
  26.         pad1[i] = 0x1e;
  27.     pad1[i] = 0;
  28.  
  29.     sprintf(buf, "%c%s%c%s%s%c%s", sizeof(key1)-1, key1,
  30.                     nlen, name,
  31.                     pad1,
  32.                     sizeof(key2)-1, key2);
  33.  
  34.     for (i=0; i<71; i++) {
  35.         tval = var2;
  36.         tval <<= 16;
  37.         tval += var1;
  38.         tval >>= 8;
  39.         var3 = (unsigned short)tval;
  40.         var4 = (unsigned short)(tval >> 16);
  41.         tind = ((buf[i] ^ var1) & 0xff) << 2;
  42.         var5 = *(unsigned short *)(rknpc + tind);
  43.         var6 = *(unsigned short *)(rknpc + tind + 2);
  44.         var1 = var3 ^ var5;
  45.         var2 = var4 ^ var6;
  46.     }
  47.  
  48.     printf("\nEnter the below information exactly as it is into the Registration dialog\n");
  49.     printf("User Name   : %s\n", name);
  50.     printf("License Key : NP21-%04X-%04X\n", var2, var1);
  51. }
  52.  
  53.