Jump to content
Tuts 4 You

[KeygenMe] KeygenMe v1.6


Greedy_Fly

Recommended Posts

As i saw in the crackmes which have the serial input like this one, they always make the part of serial related to each other, yours is just to test knowledge about Jumps command.


Link to comment

Hi, by_mmb! Super! Your keygen works great! ....


but in your keygen, the fourth part seems to always < 100000


It should be < 500200


PM me the source code, please...)


Link to comment

is there anything to code here?

you have 4 parts lets call them P1, P2, P3, P4

P1 <= 7A057 -> 499799d and 2nd digit must be a 9 and 4th digit a 7

P3 <= 7A1E8 -> 500200d and 4th digit must be a 2 and last digit a 0

P4 is the sum of P1 + P4 in this case hex == F423F == 999999d

for P2 there is only a check on first digit and must be a 8

so for P2 == 8xxxxx

where x can be any digit from 0..9

make a code that match those conditions and you are done.

Edited by sama
Link to comment
P3 <= 7A1E8 -> 500200d and 4th digit must be a 2 and last digit a 0

P4 is the sum of P1 + P4 in this case hex == F423F == 999999d

 

this is wrog apologize

it must be

 

P3 is the sum of P1 + P4 in this case hex == F423F == 999999d

P4 <= 7A1E8 -> 500200d and 4th digit must be a 2 and last digit a 0

 

a valid key:

 

499799 - 812345 - 999999 - 500200

 

unknown.jpg

Edited by sama
Link to comment

Hi, by_mmb! Super! Your keygen works great! ....

but in your keygen, the fourth part seems to always < 100000

It should be < 500200

PM me the source code, please...)

 

Thanks Greedy_Fly , my first keygen coded in masm32 , my second keygen coded in vb.net here , your series fun I'm waiting v1.7 thank you.

 

KeygenMe 1.6 Source Code VB.NET.zip

Link to comment

Thanks for the writeup Sama, and fun challange Greedy Fly. My first keygen me.

 

*disclaimer*


Most of the time the key will == 24, but sometimes it will == 23, in this case just generate again and it should == 24 for a working key.

One of the functions has difficulties with random zero's since C++ always returns 05 == 5 in the Together () function.

 

int Together(int a, int b, BOOL testp3s1 = false)


{int joiner = 1;if (a == 0)
a = 2;
if (b == 0)
b == 2;
while (joiner <= B)joiner *= 10;return joiner * a + b;}/*int Together(int a, int b, int p4st1 = false)
{int joiner = 1;while (joiner <= B)joiner *= 10;return joiner * a + b;}
*/int Part4St1 (int a)
{
int returner;
if (a == 0)
return returner = 10;
if (a == 1)
return returner = 20;
if (a == 2)
return returner = 30;
if (a == 3)
return returner = 40;
if (a == 4)
return returner = 40;
}int Part4St3 (int a)
{
int returner;
if (a == 1)
return returner = 10;
if (a == 2)
return returner = 20;
if (a == 3)
return returner = 30;
}
int main(int argc, char *argv[])
{// initialize random seed
srand ( time(NULL) );// construction of P1int p11 = rand () % 2;
int p12 = 9;
int p13 = rand () % 4;
int p14 = 7;
int p15 = rand () % 6;
int p16 = rand () % 6;int p1s1, p1s2, p1s3;p1s1 = Together( p11, p12 );
p1s2 = Together( p13, p14 );
p1s3 = Together( p15, p16 );int p1f1, finalp1;p1f1 = Together ( p1s1, p1s2 );finalp1 = Together( p1f1, p1s3 );
// construction of P2int p21 = 8;
int p22 = rand() % 10;
int p23 = rand() % 10;
int p24 = rand() % 10;
int p25 = rand() % 10;
int p26 = rand() % 10;int p2s1, p2s2, p2s3;p2s1 = Together( p21, p22 );
p2s2 = Together( p23, p24 );
p2s3 = Together( p25, p26 );int p2f1, finalp2;p2f1 = Together( p2s1, p2s2 );finalp2 = Together( p2f1, p2s3 );// construction of P4int p41 = rand () % 3;
int p42 = 0;
int p43 = rand () % 5;
int p44 = 2;
int p45 = rand () % 5;
int p46 = 0;int p4s1 = Part4St1( p41 );
int p4s2 = Together( p43, p44 );
int p4s3 = Part4St3 (p45);int p4f1
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...