?
Solved

How to protect / expire a compiled DLL

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

Interactive Way of Training for the AWS CSA Exam

An interactive way of learning that will help you visualize core concepts so that you can be more effective when taking your AWS certification exam.  Built for students by a student to help them understand the concepts that they are being taught.

Question has a verified solution.

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

This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…
In this video, Percona Solutions Engineer Barrett Chambers discusses some of the basic syntax differences between MySQL and MongoDB. To learn more check out our webinar on MongoDB administration for MySQL DBA: https://www.percona.com/resources/we…
Suggested Courses

770 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