• 标 题:帖一个Cabinet Manager 2001 Ver3.7.0.87的注册机. (1千字)
  • 作 者:oakyong
  • 时 间:2002-7-23 11:59:04
  • 链 接:http://bbs.pediy.com

/* ---Turbo C 2.0---Cabinet Manager 2001 Ver3.7.0.87的注册机*/
#include <stdio.h>
#include <string.h>
#include <dos.h>
main()
{
struct date d;
struct time t;
long int y1,c,i,j,total,e=0;
static char string[60];
static int m[]={-1,30,58,89,119,150,180,211,242,273,303,333};
gettime(&t);
getdate(&d);y1=d.da_year;
/*计算1900年至今的时间(秒)*/
total=(((d.da_day+m[d.da_mon-1]+((y1-1900-1)>>2)+((y1-1900)*365))*24+t.ti_hour)*60+t.ti_min)*60+t.ti_sec;
total+=0x7c551100;            /*和0x7c551100运算*/
total=total&0xffff0000;    /*低四为取零,留高四位*/
start:
clrscr();
printf("\nCabinet Manager 2001 Ver3.7.0.87  http://www.microlognet.com\n");
printf("\nPlease enter your name : ");
gets(string);j=strlen(string);
for(i=0;i<j;i++){c=string[i];e+=c;}    /*计算用户名ASCII码之和,作为参与运算的低位*/
e+=total;        /*高位+低位,构成程序所显示的十进制Cert*/
if(j>=5){
    printf("\nYour    Cert      is  : %d\n",9067);    /*9067为用户所输入的Cert*/
    printf("Program display Number : %ld",e);
    e=e^0x90b96501;e=2*e^0x6967;            /*程序显示的Cert,运算得到注册码的数字部分*/
    printf("\nYour Register code is  : 3RE%ld",e);}    /*前三位3RE+计算所得注册码数字部分*/
else {  printf("\nYour username must >5 Character!\n");
    e=0;
    getch();
    goto start;}
printf("\n\n===== Thanks! E_Mail:oakyong@21cn.com =====");
getch();
}