Solved

How to protect / expire a compiled DLL

Posted on 2008-10-14
5
879 Views
Last Modified: 2013-12-17
Trying to find the best way to protect a .NET dll.
Yes -  I know there are many obfuscators / encryptors which will prevent decompilers from retrieving the source code.
However, in addition to that - (btw, would like to hear feedback about those obfuscators as well) - I would like to set an expiration for the dll. This dll is a development helper which will be provided to freelance developers working with us. However, after a certain period of time, i'd like that dll to be useless for them, and they will need a new version. So basically they wouldn't get it "forever".

Options we've thought of:

1. Expire according to date & time - but worried about methods of hacking this, such as changing computer's time & date - or perhaps even other methods exist?

2. Need to activate against our server on every run - if you think this is a good method, please suggest how to do it in the best way to prevent hacking. Don't forget it will be developers using this dll!!...

If you guys have any other ideas, by all means let me know!
0
Comment
Question by:luminas
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
5 Comments
 
LVL 55

Accepted Solution

by:
Jaime Olivares earned 500 total points
ID: 22717838
expiration protection will be highly difficult in a .net assembly
If you want a more secure scheme, I suggest to use an usb dongle, like safenet's:
http://www.safenet-inc.com/products/sentinel/hardware_keys.asp
0
 

Author Comment

by:luminas
ID: 22717938
How about the idea of activating against our server every time it's used? What kind of problems could arise from that?...

I'm just trying to gather all the options.
0
 
LVL 55

Expert Comment

by:Jaime Olivares
ID: 22718294
authenticating against a server is a good idea, if you use a SSL connection, but your software always will need to be connected to internet to run.
Also, still there is a little chance to crack the application to by-pass the verification, so obfuscation will be needed anyway.
0
 
LVL 8

Expert Comment

by:rambovn
ID: 22718935
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In my previous two articles we discussed Binary Serialization (http://www.experts-exchange.com/A_4362.html) and XML Serialization (http://www.experts-exchange.com/A_4425.html). In this article we will try to know more about SOAP (Simple Object Acces…
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question