Solved

Evaluation Copy of Product for 30 days !!!

Posted on 2003-11-10
4
215 Views
Last Modified: 2010-05-01
Hi Gurus,

I am developing a standalone DeskTop product which is now almost finished. There is no database is used for product.

I want to deploy this product as a free eveluation copy for the first 30 days.
And I want to make product disable after that and keep on prompting for that purchasing it.

I do not want to store the date of Installation as a benchmark for 30 days. It is possible that user may change the system date and use the product.

One more thing, I also do not want the User to Uninstall and then Install again the Software and Use it after eveluation period.

I know this is bit tricky question, but i m sure u guys will definetely help me out !!!


Thx
Anand

0
Comment
Question by:anand2k
4 Comments
 
LVL 76

Expert Comment

by:GrahamSkan
Comment Utility
All methods involve hiding something on the user's system. Encrypted data somewhere is the registry is favourite.
To overcome clock setting, you'll have to use some soort of decrement count.
If you don't wat to do-it yourself , you could try this (it's free):

http://www.activelock.com/
0
 
LVL 5

Expert Comment

by:juliancrawford
Comment Utility
The registry is the most common way, but someone with a bit of a clue would take a registry snapshot prior to installing the software - then another after the install - then another after the 30 day period - easy to see what key is where - just delete the key and reinstall and you have another 30 days.
0
 

Accepted Solution

by:
zljk earned 125 total points
Comment Utility
Hi,

As other posters said, storing something on the user's system is a general solution. In a bit more details, you can do this:

- Encrypt data and duplicate it in several places - a few places in the registry, ini file in system32 folder, file in the documents and settings\user folder, etc. If data in any of these places doesn't match, you'll know user has tampered with the file.
- Do not rely on system date. Instead, remember when the user last time used the application, and if the date is different than the last one, increment a counter. When the counter reaches e.g. 30, you do whatever you want to do when evalutaion period expires.
- Insert checks in several places - application startup, menu click, application close, somewhere in the middle of the business process. Hacker might find only one of these places.
- DO NOT write a function that does anything related to protection mechanism. Wherever you do any of these things, COPY and PASTE the code. This will make reverse engeneering more difficult. If u use a function, hacker can disable all protection code by disabling the function.
- If you detect that someone has tempered with the values you stored on the system, DO NOT react immediately. Postpone reaction for some time. Hackers will have harder time detecting where is your protection check.
- Do not insert symbolic debug info in the application.
- Compile to native code and optimize for fast code, or don't use optimization.
- Do not use any third party components.
- Finally - whatever you do, you are not making app impossible to hack, just making that job more difficult.
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Introduction In a recent article (http://www.experts-exchange.com/A_7811-A-Better-Concatenate-Function.html) for the Excel community, I showed an improved version of the Excel Concatenate() function.  While writing that article I realized that no o…
Enums (shorthand for ‘enumerations’) are not often used by programmers but they can be quite valuable when they are.  What are they? An Enum is just a type of variable like a string or an Integer, but in this case one that you create that contains…
As developers, we are not limited to the functions provided by the VBA language. In addition, we can call the functions that are part of the Windows operating system. These functions are part of the Windows API (Application Programming Interface). U…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

771 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

11 Experts available now in Live!

Get 1:1 Help Now