Solved

Evaluation Copy of Product for 30 days !!!

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

Salesforce Made Easy to Use

On-screen guidance at the moment of need enables you & your employees to focus on the core, you can now boost your adoption rates swiftly and simply with one easy tool.

Question has a verified solution.

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

Suggested Solutions

Article by: Martin
Here are a few simple, working, games that you can use as-is or as the basis for your own games. Tic-Tac-Toe This is one of the simplest of all games.   The game allows for a choice of who goes first and keeps track of the number of wins for…
You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
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…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

738 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