Solved

Evaluation Copy of Product for 30 days !!!

Posted on 2003-11-10
4
219 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

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

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

There are many ways to remove duplicate entries in an SQL or Access database. Most make you temporarily insert an ID field, make a temp table and copy data back and forth, and/or are slow. Here is an easy way in VB6 using ADO to remove duplicate row…
This article describes some techniques which will make your VBA or Visual Basic Classic code easier to understand and maintain, whether by you, your replacement, or another Experts-Exchange expert.
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 utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

786 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