downloadbrowseJim~'s SpaghettiMe

Download spaghettime.zip, 61 kb (password: crackmes.de)
Browse contents of spaghettime.zip

After growing tired of the onslaught of simple
.NET targets on crackmes.de, I decided to give
a shot at making a keygenme that takes a little
more thinking by involving some recursion. You
won't be able to copypaste code to generate a
serial in this one ;)

Have fun! I look forward to your solutions :)

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

Published: 28. May, 2008
Downloads: 442

Rating

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

Rate this crackme:

Send a message to Jim~ »

View profile of Jim~ »

Solutions

Solution by obnoxious, published 21. aug, 2008; download (8 kb), password: crackmes.de or browse.

obnoxious has rated this crackme as quite nice.

Submit your solution »

Discussion and comments

InterGhost
01. Jun 2008
It's the most interesting CrackMe I've ever seen =)) Thanks!!
Jim~
Author
02. Jun 2008
Glad to hear you enjoy it.

Any luck keygenning it? It's not too hard ;]
born2c0de
02. Jun 2008
It looks like a one-way hash function although I could be wrong.
Are you sure this can be done without bruteforcing?
Jim~
Author
02. Jun 2008
Yep. I've already made a keygen myself. :)
born2c0de
02. Jun 2008
Cool. In that case, I'll keep trying.
Jim~
Author
05. Jun 2008
A few valid keys to help you along, maybe?

User: JiM~
Key: QMbb8AYbMEVab4SZrsPY7QMYLUJXbIGWq8DV6
Key: FhtvwxhswBVpvRJmug9jtwxgtAldsQZargNXqwBU
Key: h41iNwzgtYpfNAndsodcMQbar4RZLgPXrIFWKwDU

:)
costy
05. Jun 2008
first key doesn't work on my pc!
Jim~
Author
05. Jun 2008
haha! you're right. I didn't copy the whole key. whoops! >.<
simonzack
Moderator
06. Jun 2008
I don't get it at all. My keygen sometimes works, sometimes doesn't, but Overloaded() and getHash from name is definitely equal
I got another key for JiM~: wv7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+
simonzack
Moderator
06. Jun 2008
Sorry, dont know how to edit
the gethash I get for "JiM~" is 207 ((name->GetHashCode()/0x186a0)%0xff)
but i think it should be 163
Jim~
Author
06. Jun 2008
My guess as to why your keygen won't always work has to do with not compensating fully for the modulo inside overloaded(int[])

Just a guess. PM me your algo for generating and I'll take a look at it. Or maybe some of your 'should-work, but don't work' keys?
AloneInTheDark
07. Jul 2008
Hi,
I have send my solution. I have update Overloaded() function, my Overloaded() return "true" value. The password is any string of 40 characters.
Jim~
Author
09. Jul 2008
AloneInTheDark: Based on your comments, it sounds like you patched or rewrote the Boolean Overloaded() method. If so, that won't be accepted as a valid solution here. The only valid solution should be a key generator.
obnoxious
21. Aug 2008
Well Jim~ did you like it? :)
Jim~
Author
24. Aug 2008
Nice work, obnoxious. I enjoyed reading your solution. You broke down my recursion haha :)
raygeee
10. Jan 2009
Actually, to create a KeyGen it isn't really necessary to reverse the overloaded(string) and overloaded(int). overloaded(int[]) and overloaded() is enough. Just use the original methods to get the encrypted value of the name.
One other thing I got into trouble was that I got a StackOverflowException when running in Debug mode. In Release mode the recursive calls run perfectly because of the optimization.

However, I found that a really nice one!

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.