Solved

How to protect / expire a compiled DLL

Posted on 2008-10-14
5
873 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
  • 2
5 Comments
 
LVL 55

Accepted Solution

by:
Jaime Olivares earned 500 total points
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Suggested Solutions

In my previous article (http://www.experts-exchange.com/Programming/Languages/.NET/.NET_Framework_3.x/A_4362-Serialization-in-NET-1.html) we saw the basics of serialization and how types/objects can be serialized to Binary format. In this blog we wi…
Introduction Hi all and welcome to my first article on Experts Exchange. A while ago, someone asked me if i could do some tutorials on object oriented programming. I decided to do them on C#. Now you may ask me, why's that? Well, one of the re…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …
This video explains how to create simple products associated to Magento configurable product and offers fast way of their generation with Store Manager for Magento tool.

772 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

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now