473,394 Members | 1,773 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,394 software developers and data experts.

Best way to evaluate a program

137 100+
Hello!
I just finished a program to collect photo's and where you can search for particalur photo's.
But some people want to buy this program, so i want to lock it with a code.
So that they won't make a copy of it and have there own code.

What is the best way to lock a program for example 14 days and then lock some settings or features.

Regards, Paul
Oct 5 '08 #1
3 1121
tlhintoq
3,525 Expert 2GB
The absolute strongest method is hardware.
If the program is always in demo mode unless the needed hardware security dongle is attached to the PC then it doesn't matter if they copy the software. This is just one maker of such devices. If you google for "security dongle", "software dongle" and such you should get several other makers.
Hardware HASP page
Personally I like Aladdin's HASPS because they have clocks and memory you can read/write. So you can offer various options and enable them by setting a bit in the memory of the dongle.

I believe they also make a purely software component that you can add to your software. Basically a wrapper that allows you to set a demo period, after which the software dies etc.

Plan C: You could have your software check a server over the internet for code validation and unlocking.
Oct 5 '08 #2
djpaul
137 100+
Okay, plan c is what i was thinking of.
But what is in that the best way to count down the days?
If somebody change the system time, it works forever, altough the time of your machine will be far behind after a while....

thanks!
Oct 5 '08 #3
tlhintoq
3,525 Expert 2GB
Okay, plan c is what i was thinking of.
But what is in that the best way to count down the days?
If somebody change the system time, it works forever, altough the time of your machine will be far behind after a while....

thanks!
That is one of the oldest tricks in the book, playing with system time at the point of installation versus now. Just means you have to be smarter than your average bear, boo-boo.

How you choose to do it is what sets you apart from the next guy. Be creative and imaginative. Maybe instead of comparing date today to date of activation you do something different. Maybe the software *has* to check on-line for the date, at least while in demo mode. If it can't see the net for time then it doesn't run. Now you don't care about the system clock. Or maybe you don't limit it to the number of days. Maybe you track the number of running hours. Demo mode will work for a cumulative total of 48 hours. That could be two straight days or 1 hour a day for 48 days. That's up to the evaluator. So now you hide away a number in the registry that is coded using the crypto system so the user can't change it.

Just a couple ideas to spark some of your own.
Oct 6 '08 #4

Sign in to post your reply or Sign up for a free account.

Similar topics

1
by: Charlie | last post by:
I have the first part of the project done but I'm having difficulty deciding how to add an evaluate function to this program. The program asks the user to enter a function in infix notation and...
29
by: pmatos | last post by:
Hi all, Sometimes I have a function which creates an object and returns it. Some are sets, other vectors but that's not very important. In these cases I do something like this: vector<int> *...
136
by: Matt Kruse | last post by:
http://www.JavascriptToolbox.com/bestpractices/ I started writing this up as a guide for some people who were looking for general tips on how to do things the 'right way' with Javascript. Their...
8
by: No Such Luck | last post by:
Is there anyway to literally evaluate the contents of a string in an if statement? For example: int i = 0; char * str = "i == 0"; if(str) /* I know this doesn't do what I want */ {
9
by: david | last post by:
I have a class with some business-logic and with every roundtrip, I need an instance of this class, so I have to create it, every time again. That doesn't seem very efficient. I thought it would...
17
by: 2005 | last post by:
Hi In C++, are the following considered best practices or not? - passing aguments to functions (ie functions do not take any arguments ) - returning values using return statement Anything...
2
by: rohit tripathi | last post by:
Write a program to evaluate a postfix expression using a stack. Note that 1. The expression may have the operators + - * / div and mod. 2. The expression may have variables and numbers...
6
by: mstorkamp | last post by:
I need to evaluate simple arithmetic expressions. I wrote a quick and dirty program that allows me to enter dimensions off of a drawing, and based on global or local tolerances calculate an...
14
by: serave | last post by:
How do i evaulate a mathematical expression that is entered in a text field. Ex: Text Fields: Xo=23 X1= 250 Expression: y = Xoe^(x1+Xo)-cos(X0+X1)+23Xo
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.