哈哈,谢谢楼主分享。在下菜鸟一个,就会点编程,看到楼主的注册机实在太简单了,而且在VC++下无法编译,就做了点修改,就算帮楼主完善一下吧,不要见怪哦!
把下面的代码复制到新建的 VC++ Consol 工程中便可直接编译:(呃,删除了附件中编译好的注册机,支持作者
)
//======================================================
#include <conio.h>
#include <stdio.h>
#include <string.h>
unsigned char map[]={'0','1','2','3',
'4','5','6','7',
'8','9','a','b',
'c','d','e','f'};
void hextostring(const char* in,char *out);
void main()
{
unsigned char key192[]={0x67,0x2e,0xf3,0xc1,0xcd,0xa8,0x45,0x9b};//这里是v1.92的种子
unsigned char key193[]={0x17,0x2e,0x23,0xe1,0xc1,0x98,0x45,0x3a};//这里是v1.93的种子
unsigned char lic[8];
unsigned char genkey[17]={'\0'};
printf(" Syser Debugger V1.92/V1.93 注册机 by xee.\n\n");
printf("请输入注册名(注意-只能使用数字与小写字母,且不得超过8位):\n");
scanf("%8s",lic);//输入用户名
printf("\n\n");
int i,j;
int length=strlen((const char*)lic);
for(j=0;j<length;j++)
{
for(i=0;i<8;i++)
{
key192[i]=key192[i]^lic[j];//计算V1.92的注册码
key192[7-i]=key192[7-i]+lic[j];
key193[i]=key193[i]^lic[j];//计算V1.93的注册码
key193[7-i]=key193[7-i]+lic[j];
}
}
printf("输入的用户名为: %s\n",lic);
hextostring((char*)key192,(char*)genkey);
printf("1.92版本注册码: %s\n",genkey);//生成V1.93的注册码
hextostring((char*)key193,(char*)genkey);
printf("1.93版本注册码: %s\n\n",genkey);//生成V1.93的注册码
getch();
}
void hextostring(const char* in,char *out)
{
const char *p=in;
int i;
for (i=0;i<8;i++)
{
if (p!=NULL)
{
out[2*i]=map[((*p)>>4)&0x0f];
out[2*i+1]=map[(*p)&0x0f];
p++;
}
}
}
//======================================================