downloadbrowseBunnX's wizzard Crackme

Download wizzardCrackme.zip, 125 kb (password: crackmes.de)
Browse contents of wizzardCrackme.zip

wizzard Crackme
===========

This crackme is protected by a keyfile.
Have you found one valid, you will see a little demo scene. I tried to make it a little 'retro'.

So do it. After you reproduce the checking algorithm, write the counterpart as a nice keygen.

Difficulty: 3 - Getting harder
Platform: Windows
Language: C/C++

Published: 11. Jun, 2013
Downloads: 316

Rating

Votes: 3
Crackme is nothing special.

Rate this crackme:

Send a message to BunnX »

View profile of BunnX »

Solutions

Solution by iSSoGoo, published 18. jun, 2013; download (58 kb), password: crackmes.de or browse.

iSSoGoo has rated this crackme as quite nice.

Solution by neo85, published 18. jun, 2013; download (162 kb), password: crackmes.de or browse.

neo85 has rated this crackme as quite nice.

Submit your solution »

Discussion and comments

korsader
13. Jun 2013
The crackme has a unique solution, or there may be many?
I found only one correct value
BunnX
Author
13. Jun 2013
Do you mean one correct key? No, there are many. I wrote a keygen :)
BunnX
Author
13. Jun 2013
You can send me a pm, I want to know what value you have found.
neo85
14. Jun 2013
Nice demo scene, I'm writing the solution for this crackme :)
BunnX
Author
14. Jun 2013
@neo85 Thank you :)

Because I got some pm's, I will clarify something for all who are trying it/ will try it.. There a more serials than one. This single hash value, is the one from a empty string. I only forget to check the length of the second serial section.

The right solution have to create a keyfile with a random string or of a inputted name. So it can produce many keys.

I'm sorry about that ambiguity.
B@zz!
16. Jun 2013
I've found the key pattern. I think my first part is correct but the second is wrong...
75EF0226-ªªªªªªªªªªªªªªªª

I think i need some time for the second part..

and myeb it's something like:
c_data_f => first part
c_data_s => second part

void encrypt_first_part(char* c_data_f, char* c_data_s)
{
BYTE* b_data_f = (BYTE*)c_data_f;
BYTE* b_data_s = (BYTE*)c_data_s;
int i = 0;
int len = strlen(c_data);
bool b_check = false;
while(i <= len)
{
b_data_f[i] ^= c_data_s[i];
if(b_data_f[i])
b_check = true;
i++;
}
}

Maybe i'm totally wrong then i'm sorry.
zaawrt
16. Jun 2013
i've done the key file, take a look
BunnX
Author
16. Jun 2013
@B@zz!
more wrong, sry.

@zaawrt
I don't know how to grasp your comment. There is not 'the' key file. You should make a gen that's able to produce many different key files.

The solution with this 8 Byte Hex string isn't the expected. Maybe I misinterpreted this, you can send me a pm and I will check it.
BunnX
Author
16. Jun 2013
Btw, I know it's working this way and so it can be cracked easily.
It was my failure that it's not checking the second string for the length. But the challenge is still a keygen for random keys. :\
BunnX
Author
19. Jun 2013
Thanks to neo85 and iSSoGoo for the nice solutions. It's everytime fun to see how people crack my "mind stuff" and good for improving my own skills.

You may leave your comment, thoughts and discuss this crackme with other reversers here.
Acting childish will not be tolerated.
HTML and such will be left as-is, so don't try.