Implementing "Time Limited, Trial" version of my program


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Implementing "Time Limited, Trial" version of my program
# 1  
Old 06-06-2007
Implementing "Time Limited, Trial" version of my program

Hello everyone,

I am just looking for ideas on how I can implement a demo version of my program which will be available in unix environment (solaris and linux).

So what I have in mind is to either implement a limited-time version (trial version expires after 30 days) or a limited-number version (trial version expires after the program has ran for 'x' number of times)

Can anyone please give any idea on how any of this this can be implemented ?

The simplest strategy I can think of is to store a number (for e.g: the date or a count) in a file when the program is run for the first time and then on each subsequent run, read this number and, lets say if its a date, then compare it with the current date.

But then I ran into issues like, where can I store this file? (I want the strategy atleast a little secure, so that it is not very obvious to everyone to go ahead and delete this file whenever the trial version expires) ? Is it possible the program does not have write permission ? Is there any kind of a registry in unix where I can store key, value pairs ?

(Actually, I am not so much concerned about crackers being able to break the demo version, it just should not be too obvious)

Please, just throw in whatever ideas you have.

Thanks !!
# 2  
Old 06-06-2007
The program should not be time limited on a particular system, but should be time limited for a particular user.

And, I guess I can atleast make the file which stores the date a hidden file.
# 3  
Old 06-06-2007
If you are planning to release the code of your program to the rest of the world, then a demo version is redundant. If not, then you can generate a key when the program is installed and store it in some file. You can check for that file's checksum and timestamps when the file is written to and then on subsequent runs, your program should check the file and refuse to run if the checksum/size or the timestamp changes in any way.

For a user, it would be a bit more complicated, but you could go along similar lines.
# 4  
Old 06-07-2007
If you host an ftp server you could publish a version which is recompiled everyday with a datestamp in the source code.
# 5  
Old 06-07-2007
Hmm.. interesting post.

Since you are absolutely fine with the hidden file approach, why not make it as part of the config file, if you have any. That is, put in an encrypted (perhaps XOR encryption) form of the initial date when the app ran for the first time. Everytime you start the app, you will look at that date and then decide on the expiration message. Likewise with the number of trials. In this case, you will update it accordingly.

Or embed the whole source code in your application and then when you are about to exit, recompile the code with the relevant information i.e. number of tries left or the remaining time for the app to run. This is easier said than done Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

6 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

What is the significance of sh -s in ssh -qtt ${user}@${host} "sh -s "${version}"" < test.sh?

Please can you help me understand the significance of providing arguments under sh -s in > ssh -qtt ${user}@${host} "sh -s "${version}"" < test.sh (4 Replies)
Discussion started by: Sree10
4 Replies

2. AIX

"pconsole" and "esaadmin" on AIX version 6

Anyone know what is the function of user "pconsole" and "esaadmin" on AIX version 6? (1 Reply)
Discussion started by: ebab3
1 Replies

3. Shell Programming and Scripting

How to remove "New line characters" and "spaces" at a time

Dear friends, following is the output of a script from which I want to remove spaces and new-line characters. Example:- Line1 abcdefghijklmnopqrstuvwxyz Line2 mnopqrstuvwxyzabcdefghijkl Line3 opqrstuvwxyzabcdefdefg Here in above example, at every starting line there is a “tab” &... (4 Replies)
Discussion started by: anushree.a
4 Replies

4. UNIX for Advanced & Expert Users

add seconds to: date"|"time"|"HHMMSS

Hey all, I have a shell that invokes a AWK. In this AWK i want invoke a function that receives 3 parameters: date: 20080831 time: 235901 duration: 00023 that function receive this 3 parameters and sum to this value two more seconds: 2008083123590100025 Remember that in case that... (3 Replies)
Discussion started by: anaconga
3 Replies

5. Solaris

limited ping "command" at solaris

Hi... Iam new members at this forum. and I have a little problem with "command ping" what the "command to ping at limited time", for example at linux $ping -c5 10.0.0.62 and the responed as below: 64 bytes from 10.0.0.62: icmp_seq=1 ttl=128 time=0.843 ms 64 bytes from 10.0.0.62: icmp_seq=2... (3 Replies)
Discussion started by: srilinux
3 Replies

6. Programming

how could i make a program mixed with many "|", "<" and ">"

I have written following code to do: ls -l | wc -w, it works: but when there are not only a single "|", if there are more such as: ls -l | sort -r | sort | sort -r, This program does not work, i want to know how could i deal with it when there are more "|", another situation is that, if it mixes... (2 Replies)
Discussion started by: strugglingman
2 Replies
Login or Register to Ask a Question