⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bmagic.cpp

📁 破解很多程序的序列号算法程序
💻 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 + -