i have created a dll library and now i want to secure it....and distribute it to other...i want to provide a trial so that the user can see what it can do....how can i protect it...
+1
A:
You can sign the assembly so that users can guarantee that it was built by you (and hasn't been tampered with), but I presume that the 'protection' you require is something other than this? Please explain further your requirements.
Sam
2010-03-06 19:30:27
Unfortunately, strong name doesn't help if you want to prevent people from using cracked version of your assembly. At first glance, it may seem that adding strong name to the assembly can protect it from tampering. But that's not true. Cracker can modify the code and remove strong name signature. And optionally add his own strong name. Just search for Remove strong name in Google.
Peter Macej
2010-03-07 14:53:54
But if the end user has agreed to your signature and somebody rewraps the code, the new signature will raise a flag. So your code can be trusted even if it's not safe from tampering.
John K
2010-03-08 03:08:31
+1
A:
There are different ways to "secure" a library.
- Obfuscate the library, making private (well, and public, too I suppose) parts of the DLL garbled for viewers.
- If your intent is to provide time-based use, I'd suggest you add some mechanism in the DLL that makes it a) stamped with the distribution date and b) constant validation when someone calls your DLL.
Note that neither of these ways will make your public functionality "invisible". There's no way to secure DLLs in the sense of a full DRM.
Fredrik Ullner
2010-03-06 19:33:45