本人不懂编程。代码是在网上找到的。想写个keygen玩玩,但不会编程。
代码如下:
#include <stdio.h>
#include <ctype.h>
#define STR_LEN 8
unsigned char Table1[] = { 0xA2,0x9E,0xFA,0x89,0x6A,0x70,0x28,0x72,0x1F,
0x65,0x66,0x59,0x80,0x7F,0xC4,0x6B,0xC1,0x5F,
0x2E,0x9B };
unsigned char Table2[] = { 0xC4,0x6B,0xFA,0x89,0x28,0x72,0xA2,0x9E,0x2E,
0x9B,0x6A,0x70,0xC1,0x5F,0xFA,0x89,0xC4,0x6B,
0xC1,0x5F,0xA2,0x9E,0x80,0x7F,0xC4,0x6B,0x80,
0x7F,0x80,0x7F,0xC4,0x6B,0xFA,0x89,0x2E,0x9B,
0x28,0x72,0x28,0x72,0x66,0x59,0x28,0x72,0xC1,
0x5F,0x28,0x72,0xFA,0x89,0x1F,0x65,0x6A,0x70,
0x2E,0x9B,0xC4,0x6B,0xA2,0x9E,0x28,0x72,0xFA,
0x89,0xA2,0x9E,0xC1,0x5F,0x1F,0x65,0x6A,0x70,
0x6A,0x70,0x80,0x7F,0xC1,0x5F,0x2E,0x9B,0x28,
0x72,0xC4,0x6B,0x66,0x59,0xC4,0x6B,0x80,0x7F,
0x1F,0x65,0x28,0x72,0xC4,0x6B,0x6A,0x70,0xFA,
0x89,0xA2,0x9E,0x66,0x59,0x2E,0x9B,0xFA,0x89,
0xC4,0x6B,0xFA,0x89,0x80,0x7F,0xC4,0x6B,0xC1,
0x5F,0x28,0x72,0xC4,0x6B,0x6A,0x70,0xC1,0x5F,
0x1F,0x65,0x2E,0x9B,0x66,0x59,0x66,0x59,0x80,
0x7F,0x80,0x7F,0xC4,0x6B,0x2E,0x9B,0xFA,0x89,
0xC4,0x6B,0x80,0x7F,0x66,0x59,0xA2,0x9E,0x1F,
0x65,0x28,0x72,0x66,0x59,0xFA,0x89,0x2E,0x9B,
0x6A,0x70,0x6A,0x70,0xA2,0x9E,0x2E,0x9B,0x6A,
0x70,0x66,0x59,0xC4,0x6B,0xA2,0x9E,0x1F,0x65,
0x28,0x72,0x66,0x59,0xC1,0x5F,0xFA,0x89,0xC1,
0x5F,0xFA,0x89,0x66,0x59,0x66,0x59,0xFA,0x89,
'\0' };
unsigned char buf_str[] = "**";
unsigned char Number_str[STR_LEN+1];
unsigned char Code_str[] = "0*0*0*0*";
char *pstr,*pt;
int pos=0,k=0;
void main() {
printf("\nPlease Enter Number of your SoftWare: ");
scanf("%s",Number_str);
if(strlen(Number_str)>=STR_LEN){
pstr = Number_str;
pt = Table2;
while(k<STR_LEN){
buf_str[0] = Table1[(*(pstr+k)-0x30)*2];
buf_str[1] = Table1[(*(pstr+k)-0x30)*2+1];
pos = (*(pstr+k+1)-0x30)*10*2;
Code_str[k] = ((int)strstr(pt+pos,buf_str)-(int)pt-pos)/2+1+0x30;
k += 2;
}
printf("\nYour Code is: %s [ * -- any digital ]",Code_str);
}else {
printf("Enter Number error.");
}
}
|