EarthMonkey
04-29-2010, 11:57 AM
Hello guys,
I'd like a simple opinion about a licensing scheme. Its not supposed to be "the perfect license system" neither to be uncrackable, but keep the non-professional from doing something illegal or unwanted.
I'd like to hear your opinion about the crackability of this concept.
How does it work?
Licenses are simple text files containing lines with comments and lines with key/value pairs. Values can be plain text or encrypted (Rijndael) and B64 encoded. Values are not case sensitive, neither whitespace dependent.
The file itself contains a signature which is made up by a MD5 hash (SHA1 doesnt seem to bring any advantage in this situation) which is then encrypted (Rijndael-256) and stored as a B64 encoded value. Basically the signature is calculated over all lines, excluding comment lines, whitespaces and newlines, and then appended to the file as key/value pair. This is just to be able to send licenses as plain text by email, etc.
The "code" to read, decrypt and verify is in an assembly which is merged into the main assemblies and then protected using SmartAssembly. Different keys are used for values and signatures, the keys are themselves encrypted into the app before final protection.
Do you see any general flaw (besides of "there is no real protection", etc) ?
Whats the estimated effort to crack the system? Can a license generator be created with moderate effort?
And most importantly: would it keep the sunday hacker out?
Thanks for your thoughts
I'd like a simple opinion about a licensing scheme. Its not supposed to be "the perfect license system" neither to be uncrackable, but keep the non-professional from doing something illegal or unwanted.
I'd like to hear your opinion about the crackability of this concept.
How does it work?
Licenses are simple text files containing lines with comments and lines with key/value pairs. Values can be plain text or encrypted (Rijndael) and B64 encoded. Values are not case sensitive, neither whitespace dependent.
The file itself contains a signature which is made up by a MD5 hash (SHA1 doesnt seem to bring any advantage in this situation) which is then encrypted (Rijndael-256) and stored as a B64 encoded value. Basically the signature is calculated over all lines, excluding comment lines, whitespaces and newlines, and then appended to the file as key/value pair. This is just to be able to send licenses as plain text by email, etc.
The "code" to read, decrypt and verify is in an assembly which is merged into the main assemblies and then protected using SmartAssembly. Different keys are used for values and signatures, the keys are themselves encrypted into the app before final protection.
Do you see any general flaw (besides of "there is no real protection", etc) ?
Whats the estimated effort to crack the system? Can a license generator be created with moderate effort?
And most importantly: would it keep the sunday hacker out?
Thanks for your thoughts