Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C Programming > Code To Make Trial Version Software Release

Reply
Thread Tools

Code To Make Trial Version Software Release

 
 
Ken
Guest
Posts: n/a
 
      12-21-2004
Hi,

I need to modify an existing application that's written in C, C++ and
Visual C++ so the application can be released as a time limited trial
version, also the modifications must prevent the application from being
reinstalled on the same computer after the trial period has timed out.

Does anyone know of any C/C++ code that I could use directly or modified
to do this?

Thanks in advance,

Ken

 
Reply With Quote
 
 
 
 
Charlie Gordon
Guest
Posts: n/a
 
      12-22-2004
"Ken" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Hi,
>
> I need to modify an existing application that's written in C, C++ and
> Visual C++ so the application can be released as a time limited trial
> version, also the modifications must prevent the application from being
> reinstalled on the same computer after the trial period has timed out.
>
> Does anyone know of any C/C++ code that I could use directly or modified
> to do this?


This is so vain... If your application is not useful, it is not an issue, if it
becomes popular, your little timetrap will be hacked away and unrestricted
versions will pop up on p2p networks anyway.

A much more interesting approach is to make your application require Internet
access, retrieve something variable but necessary from your server every time it
is used. This way, you will have useful information about who is using when,
and you will be in total control about whom to stop and whom to give a free
ride. Famous virus checkers do this constantly, not to mention lame OS's.

--
Chqrlie.


 
Reply With Quote
 
 
 
 
James Rafter
Guest
Posts: n/a
 
      12-22-2004
This doesn't sound too complicated. There must be publicly available
libraries to do this. GNU, Sourceforge, etc?

Here's a way. You app reads an expiration date from a text file
installed with your app. Except the file contents are encrypted.
And the file contents are generated by a program which is
supplied a key (also encrytped) that contains the expiration date.
No need to recompile binaries or edit (hack) any binaries with a date.

 
Reply With Quote
 
Gordon Burditt
Guest
Posts: n/a
 
      12-22-2004
>This doesn't sound too complicated. There must be publicly available
>libraries to do this. GNU, Sourceforge, etc?


The GPL version of this, if it exists, requires you to distrubute
the *UNENCRYPTED* source code to your application. Time-limited
open-source code: interesting concept.

I think I've seen it actually used before where the author wanted
beta versions to die after the more stable version was expected to
be released, and wanted the bug reports on old versions to stop.
Mostly the people who are too lazy to upgrade are also too lazy to
edit and recompile from source to remove the limit, and upgrading
is likely easier.

>Here's a way. You app reads an expiration date from a text file
>installed with your app. Except the file contents are encrypted.
>And the file contents are generated by a program which is
>supplied a key (also encrytped) that contains the expiration date.
>No need to recompile binaries or edit (hack) any binaries with a date.


The gotcha here is that if the PROGRAM can decrypt the file, so can
someone with a debugger. A counter to that is public-key cryptography:
the expiration date is SIGNED by the public key of the author.
Anyone can decrypt the file or verify the signature; only the author
can make a new one with a different expiration date. The counter
to THAT is to replace the public key of the author in the program
with one that you know the associated private key. There's also
the issue of just bypassing the code that does the check.

Gordon L. Burditt
 
Reply With Quote
 
Richard Bos
Guest
Posts: n/a
 
      12-22-2004
Ken <(E-Mail Removed)> wrote:

> I need to modify an existing application that's written in C, C++ and
> Visual C++ so the application can be released as a time limited trial
> version, also the modifications must prevent the application from being
> reinstalled on the same computer after the trial period has timed out.


That is entirely impossible. The first can be done (but the obvious
implementation is trivially foiled if your user is willing to go through
the hassle of changing the clock on his computer); the second basically
asks for a way to permanently modify the user's computer without the
user being able to undo these changes. Even if this _were_ possible (and
it isn't), let me don my sysadmin hat again and state that even an
attempt to do so would get _you_ permanently modified if I got my hands
on you.

Richard
 
Reply With Quote
 
CBFalconer
Guest
Posts: n/a
 
      12-22-2004
Richard Bos wrote:
> Ken <(E-Mail Removed)> wrote:
>
> > I need to modify an existing application that's written in C, C++ and
> > Visual C++ so the application can be released as a time limited trial
> > version, also the modifications must prevent the application from being
> > reinstalled on the same computer after the trial period has timed out.

>
> That is entirely impossible. The first can be done (but the obvious
> implementation is trivially foiled if your user is willing to go through
> the hassle of changing the clock on his computer); the second basically
> asks for a way to permanently modify the user's computer without the
> user being able to undo these changes. Even if this _were_ possible (and
> it isn't), let me don my sysadmin hat again and state that even an
> attempt to do so would get _you_ permanently modified if I got my hands
> on you.


You would probably have a use for one of those instruments with
long arms (something like a set of diagonal cutters, but larger)
which used to be sold in the rural farm catalogs under the name
'nutting tool' and were used to convert bulls into steers.

--
Chuck F ((E-Mail Removed)) ((E-Mail Removed))
Available for consulting/temporary embedded and systems.
<http://cbfalconer.home.att.net> USE worldnet address!


 
Reply With Quote
 
dandelion
Guest
Posts: n/a
 
      12-22-2004

"Richard Bos" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Ken <(E-Mail Removed)> wrote:
>
> > I need to modify an existing application that's written in C, C++ and
> > Visual C++ so the application can be released as a time limited trial
> > version, also the modifications must prevent the application from being
> > reinstalled on the same computer after the trial period has timed out.

>
> That is entirely impossible. The first can be done (but the obvious
> implementation is trivially foiled if your user is willing to go through
> the hassle of changing the clock on his computer); the second basically
> asks for a way to permanently modify the user's computer without the
> user being able to undo these changes.


Hmmm... Strictly theoretically you are right, but practically you can make
it quitehard to

a) find the change and
b) undo it.

For example by storing some value in non-volatile-ram, but there are other
ways.

> Even if this _were_ possible (and
> it isn't), let me don my sysadmin hat again and state that even an
> attempt to do so would get _you_ permanently modified if I got my hands
> on you.


I'd agree with that sentiment, although my UI prohobits major changes to
other peoples physiology.



 
Reply With Quote
 
Keith Thompson
Guest
Posts: n/a
 
      12-22-2004
http://www.velocityreviews.com/forums/(E-Mail Removed) (Richard Bos) writes:
> Ken <(E-Mail Removed)> wrote:
>> I need to modify an existing application that's written in C, C++ and
>> Visual C++ so the application can be released as a time limited trial
>> version, also the modifications must prevent the application from being
>> reinstalled on the same computer after the trial period has timed out.

>
> That is entirely impossible. The first can be done (but the obvious
> implementation is trivially foiled if your user is willing to go through
> the hassle of changing the clock on his computer); the second basically
> asks for a way to permanently modify the user's computer without the
> user being able to undo these changes. Even if this _were_ possible (and
> it isn't), let me don my sysadmin hat again and state that even an
> attempt to do so would get _you_ permanently modified if I got my hands
> on you.


I can think of ways to do something like this without modifying the
computer. Basically the user would have to specify some unique
characteristic of his computer before downloading the software, which
would be customized to run on that computer during a specific period
of time. The download site would refuse to generate a copy of the
program for the same computer for a later time period.

Such a scheme would likely be easy to break (either permitting
unauthorized access or denying authorized access) -- and of course the
details are off-topic.

--
Keith Thompson (The_Other_Keith) (E-Mail Removed) <http://www.ghoti.net/~kst>
San Diego Supercomputer Center <*> <http://users.sdsc.edu/~kst>
We must do something. This is something. Therefore, we must do this.
 
Reply With Quote
 
Richard Bos
Guest
Posts: n/a
 
      12-22-2004
CBFalconer <(E-Mail Removed)> wrote:

> Richard Bos wrote:
> > Even if this _were_ possible (and it isn't), let me don my sysadmin
> > hat again and state that even an attempt to do so would get _you_
> > permanently modified if I got my hands on you.

>
> You would probably have a use for one of those instruments with
> long arms (something like a set of diagonal cutters, but larger)
> which used to be sold in the rural farm catalogs under the name
> 'nutting tool' and were used to convert bulls into steers.


Thanks for the offer, but that won't be necessary. I have a baseball bat
in my office, and I'm quite willing to hit people who mess up my
computers with it. Don't believe me? Come and see. I'll show it to you.

Ok, ok, it's actually a plastic blow-up baseball bat that an
ex-colleague brought with him from a trip to the left side of the pond.
But it's the thought that counts, isn't it?

Richard
 
Reply With Quote
 
Richard Bos
Guest
Posts: n/a
 
      12-22-2004
Keith Thompson <(E-Mail Removed)> wrote:

> (E-Mail Removed) (Richard Bos) writes:
> > Ken <(E-Mail Removed)> wrote:
> >> I need to modify an existing application that's written in C, C++ and
> >> Visual C++ so the application can be released as a time limited trial
> >> version, also the modifications must prevent the application from being
> >> reinstalled on the same computer after the trial period has timed out.

> >
> > That is entirely impossible. The first can be done (but the obvious
> > implementation is trivially foiled if your user is willing to go through
> > the hassle of changing the clock on his computer); the second basically
> > asks for a way to permanently modify the user's computer without the
> > user being able to undo these changes. Even if this _were_ possible (and
> > it isn't), let me don my sysadmin hat again and state that even an
> > attempt to do so would get _you_ permanently modified if I got my hands
> > on you.

>
> I can think of ways to do something like this without modifying the
> computer. Basically the user would have to specify some unique
> characteristic of his computer before downloading the software, which
> would be customized to run on that computer during a specific period
> of time. The download site would refuse to generate a copy of the
> program for the same computer for a later time period.


What's to stop me from saving the installer, and then setting the clock
back to the required time when I want to use it a second time?

Richard
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Re: Where to get stand alone Dot Net Framework version 1.1, version2.0, version 3.0, version 3.5, version 2.0 SP1, version 3.0 SP1 ? MowGreen [MVP] ASP .Net 5 02-09-2008 01:55 AM
Re: Where to get stand alone Dot Net Framework version 1.1, version 2.0, version 3.0, version 3.5, version 2.0 SP1, version 3.0 SP1 ? PA Bear [MS MVP] ASP .Net 0 02-05-2008 03:28 AM
Re: Where to get stand alone Dot Net Framework version 1.1, version 2.0, version 3.0, version 3.5, version 2.0 SP1, version 3.0 SP1 ? V Green ASP .Net 0 02-05-2008 02:45 AM
How to upgrade trial version to non-trial version w/o formatting =?Utf-8?B?WFB4NjQ=?= Windows 64bit 2 02-22-2007 06:27 AM
Code To Make Trial Version Software Release Ken C++ 1 12-22-2004 12:11 AM



Advertisments