📄 bmagic.cpp
字号:
/* C source file, compiled with borland c++ 5.02
* Written by Prophecy [tNO '99]
/*
/* This source has been released for educational purposes, so other crackers
* wanting to learn can do so by examining this source file.
*
* Under no circumstance may you recompile this source and rip this keygen off
* as your own work.
*/
#include <string.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main(){
unsigned char name[100],name_backup[100],code_string[22]="BMAG-E";
unsigned long rand_seed,check;
double version=2.24;
int i,len;
FILE *fp;
if((fp=fopen("bmag.rg","w+"))==NULL){
printf(" => Bummer, the file \"bmage.rg\", couldn't be opened.\n");
printf(" => Maybe you already have a file in read-only mode by the\n");
printf(" => same name in this directory?\n");
return -1;
}
printf("\nenter name: ");
gets(name);
strcpy(name_backup,name);
strupr(name);
len=strlen(name);
for(i=0,rand_seed=0;i<len;i++){
rand_seed+=name[i];
}
rand_seed<<=(name[0])&0xf;
rand_seed^=(name[len-1]);
srand(rand_seed); // seeded on user input ... this 1. lets me tell if
// some lamer used *my* keygen... 2. still makes it
// infeasible for author to blacklist keys made
// by my keygen
code_string[6]=rand()%10+0x30;
code_string[7]=rand()%10+0x30;
for(i=0,check=0;i<len;i++){
check+=name[i];
}
check/=len;
code_string[8]=check;
code_string[9]=rand()%10+0x30;
code_string[10]=rand()%10+0x30;
code_string[11]=rand()%10+0x30;
code_string[12]=rand()%10+0x30;
code_string[13]=rand()%10+0x30;
code_string[14]='R'; // code[14] must be the letter R
code_string[15]=rand()%10+0x30;
version=floor(version+0.5);
code_string[16]=(unsigned char)version+0x44;
code_string[17]=rand()%10+0x30;
code_string[18]=rand()%10+0x30;
code_string[19]=rand()%10+0x30;
code_string[20]=rand()%10+0x30;
fprintf(fp,"[Registration]\n\n");
fprintf(fp,"Name=%s\n",name_backup);
fprintf(fp,"Code=%s\n",code_string);
fclose(fp);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -