Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

How to protect / expire a compiled DLL

Posted on 2008-10-14
5
Medium Priority
?
887 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 2000 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

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

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

Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…
Want to learn how to record your desktop screen without having to use an outside camera. Click on this video and learn how to use the cool google extension called "Screencastify"! Step 1: Open a new google tab Step 2: Go to the left hand upper corn…

604 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