downloadbrowse__imp__'s Keygenme #2

Download keygenme2.zip, 6 kb (password: crackmes.de)
Browse contents of keygenme2.zip

This crackme is written in C#, therefore it's for those who familiar with .NET environment (.NET framework v1.0).
I didn't employ any 3rd party protectors or obfuscators.

Rules:
----------------------

It's up to you what tools and methods to use, everything is allowed.

To do:

1) Find the appropriate format for name and key.
2) Make a key generator.
3) Write a tutorial.

----------------------

Good luck,

__imp__ September 18, 2007

Difficulty: 4 - Needs special knowledge
Platform: Windows
Language: .NET

Published: 20. Sep, 2007
Downloads: 591

Rating

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

Rate this crackme:

Send a message to __imp__ »

View profile of __imp__ »

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

nhc1987
28. Sep 2007
Rules:
----------------------

It's up to you what tools and methods to use, everything is allowed.

~~~> Patch is ok ?
__imp__
Author
28. Sep 2007
In order to solve it you have to do the following:

1) Find the appropriate format for name and key.
2) Make a key generator.

If you can do this by patching, then it's OK.

P.S. Patching the condition code won't do, because it doesn't give a correct key.
nhc1987
28. Sep 2007
Yeah!

I found 2 ways to solve this keygen me:
1. Brute force
2. Patch

P/s: I patch at "return (num3 == n3)" to "return (num3 != n3)". Is it ok ?
zairon
Moderator
28. Sep 2007
> 2) Make a key generator
It's obvious, patch is not allowed...
nhc1987
28. Sep 2007
Sorry, If patching is not allowed, I will try another way.
rongchaua
28. Sep 2007
@imp : Can you make a keygen for this keygen me? As I analyse, we must solve an 16 variables-equation system to get the value of array buffer and this value must be integer. I don't think it is imposible to do that.
Regards.
rca.
rongchaua
28. Sep 2007
"I don't think it is imposible to do that" <-- Sorry, fasle. I want to say I don't think it is possible to do that.
__imp__
Author
28. Sep 2007
It IS possible. You can do this by row reduction of the equation system over a quotient ring. I know, maybe it sounds abstruse, but it wouldn't be very difficult.
MR.HAANDI
29. Sep 2007
@__imp__: did you think of linear dependencies?
__imp__
Author
01. Oct 2007
Of course, I thought about it. Linear dependencies are probable as well as inconsistency. It's well easy to fix it, but I intentionally didn't do that, just not to complicate the algorithm (maybe it was a mistake).
MR.HAANDI
01. Oct 2007
So in the particular case here not every name has a valid key :( *since I made a keygen, which won't work for any name, this is kind of unaesthetic*
__imp__
Author
01. Oct 2007
I think that finding a name that has no valid key is a good problem too. Anyway, if I would have checked that the solution exists and altered the input to fix it, I should have solved the system or calculated a det modulo p myself. In this case, one could just exploit my own code for solution, and I didn't want this.

P.S. One possible, but still unaesthetic, solution is to switch letter case in a *bad name* or append '_' to it.

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.