Jump to content
Tuts 4 You

[KeygenMe] Help me create formula for this keygen


Recommended Posts


There are solutions but none of them really explained how they mathematically did it.

It is suppose to satisfy the following condition:

serial=username+10*7 But why? Can someone explain it in more detail using the hashes formulas? Sorry for being nub Also, why is 7 used?

I am doing a level 1 or 2 keygen on crackmes.de that has already been solved. However, I do not want to look at the solution because I will be cheating myself and I would not have learned anything.

Here is what the keygen basically does:

Create hash of username:
int v = 0;
v = ( i ^ username[i] % 10 ) + 2;
if( (_BYTE)v >= 10 ) LOBYTE(v) = v - 10;
userhash[i++] = v;} while( v != userLen );Create hash of password:
v = 0;
serialHash[v] = serialkey[v] % 10;
} while( v != serialLen );Compare the hashes loop
for( int i = 0; ; ++i )
if( i == userLen ) Correct serial
if( userhash[i] != serialhash[i] ) break;
}Bad serial;

I am not entirely sure how to solve this, could someone mathematically explain to me how to do it? The userhash and serialhash have to be the same up. How do I do this mathematically? I am not sure.


Never mind, I figured it out. :

Since the modulus has to be equal to the input:

Assuming we input A then we will get 7 so we calculate it using the formula and add 7, then we times that by 10 so its a readable character.

Edited by ScriptKiddy
Link to comment
Share on other sites

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...