Solved

Evaluation Copy of Product for 30 days !!!

Posted on 2003-11-10
4
217 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
ID: 9720700
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
ID: 9720960
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
ID: 9721035
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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
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…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…

910 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

23 Experts available now in Live!

Get 1:1 Help Now