[Qt-interest] how to implement trialware feature

Sergey mb0 at km.ru
Wed Jan 14 14:26:46 CET 2009


Hi,

I need to create trialware system for my QT program on Mac OS.
So that program would work only 15 days after first launch.

I want to use this algorithm:

1. During first launch program generates unique ID of machine, connects 
to web site, posts this ID.

2. Web site script is searching in database for the ID. If this ID 
presents in database, script takes trialware start date from database. 
If not present - adds to database new record with ID and current date.

3. Web site script returns to program encrypted trialware start date. 
Unique ID is used as password for encryption.

4. Program checks, were 15 days elapsed since start date. If yes - 
refuses to work. Program caches web site response using QSettings. So 
request to web site needed only during first launch of program.

I have 2 questions:

1. How to create unique ID of Mac OS Machine? So that it would be really 
unique and at the same time would not be changed for the same machine 
from time to time? I think about QNetworkInterface::hardwareAddress(). 
But how to be if there are several interfaces on client's machine? May 
be some other things can be used as unique Mac OS Machine ID?

2. I described algorithm of implementing trialware feature. Is it good 
and strong enough? Can i do something better using other methods?

Best regards,
Serge



More information about the Qt-interest-old mailing list