downloadbrowseN1ghtm4r3's KeygenMe4

Download KeygenMe4.zip, 2 kb (password: crackmes.de)
Browse contents of KeygenMe4.zip

No patching!
Valid solution is only a keygen ;)

Difficulty: 2 - Needs a little brain (or luck)
Platform: Windows
Language: Assembler

Published: 25. Mar, 2011
Downloads: 781

Rating

Votes: 4
Crackme is nothing special.

Rate this crackme:

Send a message to N1ghtm4r3 »

View profile of N1ghtm4r3 »

Solutions

Solution by robbje, published 07. apr, 2011; download (133 kb), password: crackmes.de or browse.

robbje has rated this crackme as awesome.

Submit your solution »

Discussion and comments

Beezdul
26. Mar 2011
Ok can i have a little help? I am getting stuck at the part after the check for serial length and that the 7th letter is a dash.
indole
27. Mar 2011
It starts checking the first half of the key and gets each characters position inside a string in the program. It does some math on it to get a sum and then does a similiar thing on the second half of the key.

I was able to solve this earlier but haven't written up a tutorial. I enjoyed it as my first crackme. Here are some keys that I generated: 2WAEON-DN2RC5 , EOHK2R-DFCMKE .
Fear2oo0
28. Mar 2011
:), good crackme.
robbje
29. Mar 2011
I liked it so much, that i decided to write a solution :)
Enjoy
Borgiman
29. Mar 2011
Yo, really nice KeyGenMe.
I will also try to write a keygen. (hope i'll get it :))
Borgiman
07. Apr 2011
i think difficult 2 is still to different for me :P
patching & cracking yes, but keygenning not yet :D
nice tut robbje
N1ghtm4r3
Author
07. Apr 2011
well done robbje :)
Borgiman
08. Apr 2011
oh god, my english :D
i mean difficulty 2 is still too difficult for me :P
Coccinell
19. Apr 2011
i have found :
code1 = ( (serial[0] * position(serial[0])) + (serial[1] * position(serial[1])) + (serial[2] * position(serial[2])) + (serial[3] * position(serial[3])) ) * 78
code2 - code1 - 1 = 6486568h
code2 = 6486568h + 1 + code1

but i don't success to decode asm code for code2 !

i don't understand this :
f7 * 24^5 + f8 * 24^4 + f9 * 24^3 + f10 * 24^2 + f11 * 24 + f12

why ^5, ^4, ^3, etc ?

can you help me to understand that ?

thanks
robbje
19. Apr 2011
Check again what the asm code does when it calculates the checksum of key[7..12]. It takes the position of the key in the string and adds it to the accumulator, which will get multiplied by 18h (=24d). If you expand this sum, you will see that f7 gets multiplied by 24 5 times, f6 4 times, and so one. Therefore ^5, ^4, ^3...
Coccinell
20. Apr 2011
i have found that :
code2 = (((((position(serial[7]) * 24) + position(serial[8]) * 24) + position(serial[9]) * 24) + position(serial[10]) * 24) + position(serial[11]) * 24) + position(serial[12])

code2 = (position(serial[7]) * 24^5) + (position(serial[8]) * 24^4) + (position(serial[9]) * 24^3) + (position(serial[10]) * 24^2) + (position(serial[11]) * 24^1) + (position(serial[12]) * 24^0)

i understand now, thanks robbje

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.