Jump to content
Tuts 4 You

[KeygenMe] Help me create formula for this keygen


ScriptKiddy

Recommended Posts

http://crackmes.de/users/the_binary_auditor/the_binary_auditor_splish_1/

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;
do
{
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;
do
{
serialHash[v] = serialkey[v] % 10;
++v;
} 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.

Thanks.

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