What's the best way to confuse a C # product license verification code?

How do I better obfuscate my C # .net product code verification code?

Is it enough to put it in the β€œCLASS INTERNAL SEAL CLASSNAME {}; or do I need to do more?

Thank!

+8
c #
Feb 02 '09 at 1:38
source share
3 answers

Access modifiers like internal and sealed have nothing to do with obfuscation or code security, they just tell other classes how to interact (or not interact) with them.

At the end of the day, you can do nothing to prevent piracy. Everything created by one person can be violated by another. There are many questions on SO regarding product keys, software security, etc., which you can find if you use the search engine in the upper right corner. All answers cover a few basic ideas that anyone with a little feeling will tell you:

  • Put enough effort into your anti-piracy efforts to crack software a little less convenient than tearing a credit card. If this is really difficult to do, you are loading your client base too much.
  • If you focus on creating positive relationships with your customers, rather than on the assumption that they are criminals, they will be more willing to give you money.
  • Most customers β€” individuals and especially companies β€” are not interested in opening their assemblies and trying to figure out how to get away without paying you. For individuals, they still will not pay for it, so as not to lose the sale; and companies will not risk mountains of cash in legal problems for the cost of some software licenses.

Investigating cryptography with public / private and elliptical keys , and you will find ways to protect your key algorithm, but this will only prevent a key from being cracked, not bypassing it.

+17
02 Feb '09 at 1:44
source share

I agree with Rex M, you should use an asymmetric encryption algorithm, such as cryptography of elliptic curve curves, to avoid using keys. And if you are interested in a commercial solution, try Ellipter - it uses elliptic curves and has some useful features, such as product information and expiration data, embedding into generated serial keys.

+2
Dec 12 '09 at 14:16
source share

Rex is correct, the internal sealed class will not hide anything. Use a one-way encryption hash (e.g. MD5CryptoServiceProvider ) to protect passwords and keys.

0
Feb 02 '09 at 1:48
source share



All Articles