downloadbrowselutio's Keygenme1 by Lutio

Download Keygenm1_By_Lutio.zip, 27 kb (password: crackmes.de)
Browse contents of Keygenm1_By_Lutio.zip

This is my first KeygenMe.
There are no anti-debug tricks, or obfuscation.
Rules: No patch/bruteforce allowed.
Enjoy.

Difficulty: 2 - Needs a little brain (or luck)
Platform: Windows
Language: C/C++

Published: 27. Dec, 2013
Downloads: 351

Rating

Waiting for at least 3 votes
(we have only 1).

Rate this crackme:

Send a message to lutio »

View profile of lutio »

Solutions

There are no solutions to this crackme yet. Have you solved it? Please write a tutorial and submit it here!

Submit your solution »

Discussion and comments

DataBus
01. Jan 2014
I believe this is impossible to keygen for the following reasons. Please correct me if I am wrong. (Not sure where to post this). I may be incorrect, but this is what I have found:

1. User computes a hash of a value and then compares it to the key. This is impossible to keygen without brute forcing. (But brute forcing isn't allowed). This algorithm is dependent on the value discussed in pointer number 2, however; it is always the same (no matter the inputted serial) therefore it is impossible to write a keygen for at this moment (or so I have found)

2. Most importantly, the user computes some values based on the inputted 8 length serial. However, he throws out the unique value and then saves the value that is the same for them all.

This value is the same for any serial you input, I believe OP made a mistake here and possibly saved the wrong value

MOV ECX,DWORD PTR SS:[EBP-4]
SHL ECX, 3
MOV DWORD PTR SS:[EBP-4], ECX

the value of EBP-4 is set earlier to 1

Therefore, as we can see, no matter what serial is entered the unique value will always be 0x01000000. And this will always fail the users verification check.
DataBus
01. Jan 2014
Also, I did not state this in my prior post. But the aforementioned code happens while OP enumerates the users serial. Therefore, the value eventually reaches 0x01000000 after the users enumeration of the inputted serial (The entered name seems to have no impact on the output of the key)
acruel
28. Nov 2015
Still solvable, though.

C:\Users\acruel\Desktop>c:\Python27\python.exe -c "print 'alice\n' + 'A' * 32 + '\xe4\x12\x34\x01'"
| Keygenme1.exe
Name:

Serial:

Invalid serial!
Wrong serial!
Congratulations, you've solved it!

C:\Users\acruel\Desktop>

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.