Jump to content

Found Key Generators - Source

- - - - -

This topic has been archived. This means that you cannot reply to this topic.
11 replies to this topic

#1
Void

Void

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 411 posts
I found a bunch of source code for some old key generators. They were for popular programs during there time.


#include <stdio.h>

#include <conio.h>

#include <string.h>

#include <stdlib.h>

main()

{

    int i ;

    char username[25] ;

    unsigned long reg=0 ;

    clrscr() ;

    printf("Enter User Name : ") ;

    gets(username) ;

    for (i=0;i<strlen(username);i++) reg+=username[i] ;

    printf("This is your Registration Number : DS%lu-%lu%lu-%lu\n",reg%9+0x43,reg,reg%5,reg>>2) ;

    return (0) ;

}



#include <stdio.h>

#include <conio.h>

#include <string.h>


main()

{

  char username[60],org[20] ;

  int i ;

  long eax,esi=0,edx,ecx,ebx ;

  clrscr() ;

  printf("Enter User Name : ") ;

  gets(username) ;

  if ((strlen(username)<6) || (strlen(username)>60))

   {

      printf("UserName must more than 6 char and less than 60 char !!!") ;

      return 0 ;

   }

   username[2]=0x09 ; username[5]|=0x55 ;

   do

  {

     strcat(username,".") ;

   }while (strlen(username)<60) ;


do

  {

     eax=esi ;

     edx=eax % 4 ;

     ebx=16 ; ecx=edx ;

     edx=0 ; edx=eax % ebx ;


    printf("This is your Registration Key : %s\n",username) ;

    return (0) ;

}




#include <stdio.h>

#include <conio.h>

#include <string.h>

#include <stdlib.h>

main()

{

    int i ;

    char username[25] ;

    unsigned long reg=0x0141D69C ;

    clrscr() ;

    printf("Enter User Name : ") ;

    gets(username) ;

    for (i=0;i<strlen(username);i++) reg+=((username[i]*((i>>1)+4))*(i^3)) ;

    printf("This is your Registration Number : %lu\n",reg) ;

    return (0) ;

}




I have tons more and in different languages but I don't feel like posting them all. I'll post more later.
Void

#2
RobSoftware

RobSoftware

    Programmer

  • Members
  • PipPipPipPip
  • 143 posts
Nice post! I'd like to see more if you get the time to post more. Where did you get these from?

#3
dirkfirst

dirkfirst

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 354 posts
Awesome! Post more :)

#4
TkTech

TkTech

    The Crazy One

  • Moderators
  • 1,396 posts
good, but does anyone else notice all the #include's are empty?

#5
Void

Void

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 411 posts
Ahh, wierd..... hmm. I guess the board took out the includes because they are in the source. Here is another one.


#include <stdio.h>

#include <conio.h>

#include <string.h>


unsigned long rutin(char param[]) ;


main()

{

char username[25],org[20] ;

unsigned long reg=0xdc955bfd ;

clrscr() ;

printf("Enter User Name : ") ;

gets(username) ;

reg+=rutin(username) ;

printf("Enter Organization : ") ;

gets(username) ;

reg+=rutin(username) ;

printf("This is your Registration Key : %lu\n",reg) ;

return (0) ;

}


unsigned long rutin(char param[])

{

int i ;

unsigned long edx=0,ebp=0,ebx=0,edi=0 ;

const int magicnumber[]={0x23, 0x73, 0x65, 0x72, 0x42, 0x26, 0x6E, 0x7A, 0x7C, 0x6D, 0x66, 0x4D, 0x31, 0x2F, 0x35, 0x28,

0x21, 0x73, 0x64, 0x24, 0x4D, 0x71, 0x2E, 0x7B, 0x73, 0x5D, 0x2B, 0x73, 0x46, 0x6A, 0x74, 0x4B,

0x70, 0x7A, 0x53, 0x64, 0x74, 0x7A, 0x6F, 0x58, 0x71, 0x6D, 0x62, 0x5E, 0x41, 0x6C, 0x40, 0x64,

0x76, 0x3A, 0x73, 0x3F, 0x78, 0x2F, 0x00, 0x00, 0x7C, 0x62, 0x21, 0x70, 0x7A, 0x2A, 0x6C, 0x73,

0x3B, 0x72, 0x6E, 0x7C, 0x6C, 0x66, 0x24, 0x76, 0x69, 0x5E, 0x41, 0x78, 0x70, 0x65, 0x29, 0x72,

0x78, 0x35, 0x61, 0x69, 0x63, 0x26, 0x39, 0x2F, 0x32, 0x6D, 0x35, 0x6C, 0x73, 0x69, 0x34, 0x40,

0x30, 0x64, 0x6D, 0x5A, 0x77, 0x39, 0x34, 0x63, 0x6D, 0x71, 0x70, 0x66, 0x68, 0x77, 0x00, 0x00};

const char magicnumber2[]="|b!pz*ls;rn|lf$vi^Axpe)rx5aic&9/2m5lsi4@0dmZw94cmqpfhw" ;

for (i=0;i<strlen(param);i++)

  {

  ebx=magicnumber[strlen(param)+i] ;

  ebp=param[i] ;

  edx=i+1 ;

  ebx*=ebp ;

  ebx*=magicnumber2[i] ;

  ebx*=edx ;

  edi+=ebx ;

  }

return (edi) ;

}


Void

#6
Void

Void

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 411 posts
Odd, it still took them out
Void

#7
Void

Void

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 411 posts
They are still in the post if I edit them they just do not show up....
Void

#8
Void

Void

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 411 posts
Here is another one

[code]
#include<stdio.h>
#include<conio.h>
#include<string.h>
main()
{
int i ;
char username[25] ;
unsigned long reg=0,reg2=0,esi=0 ;
clrscr() ;
printf("Enter User Name : ") ;
gets(username) ;
strcat(username,"csca4") ;
for (i=0;i<strlen(username);i++)
{
reg2<<=4 ;
reg=username[i]+reg2 ;
reg2=reg ; reg&=0x0f000000 ;
if (reg!=0)
reg2^=(reg>>0x18) ;
reg2&=(~reg) ;
}
printf("This is your Serial Number : %lu\n",reg2) ;
return (0) ;
}
[/cpde]
Void

#9
Guest_Kaabi_*

Guest_Kaabi_*
  • Guests
Heh, weird I never realized that "keygen" meant key generator, but I just realized it now. I'm assuming one would use a key generator to get the key for a trial program or something, but I've never used one before.

At first I thought the code was C++, but then I saw the printf and realized it was C.

#10
DevilsCharm

DevilsCharm

    Programming God

  • Members
  • PipPipPipPipPipPipPip
  • 884 posts
There's certainly lots of different codes for just one program, they all must work in different ways.

#11
Void

Void

    Programming Expert

  • Members
  • PipPipPipPipPipPip
  • 411 posts

DevilsCharm said:

There's certainly lots of different codes for just one program, they all must work in different ways.

Its not all from the same program and each works independent of the others. These are VERY old key generators from previous versions of software. They don't work anymore for the software they were wrote for but they serve as a good example of how to write your own.
Void

#12
DevilsCharm

DevilsCharm

    Programming God

  • Members
  • PipPipPipPipPipPipPip
  • 884 posts
Oh they were all wrote for a specific program, I see. It is interesting looking over how a keygen for one thing has to be so different from one written for another.