aspose file tools*
The moose likes General Computing and the fly likes How do demo softwares expire? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » General Computing
Bookmark "How do demo softwares expire?" Watch "How do demo softwares expire?" New topic
Author

How do demo softwares expire?

Vikas Kapoor
Ranch Hand

Joined: Aug 16, 2007
Posts: 1374
How do they count number of days passed/left?
Paul Sturrock
Bartender

Joined: Apr 14, 2004
Posts: 10336

It depends.


JavaRanch FAQ HowToAskQuestionsOnJavaRanch
Vikas Kapoor
Ranch Hand

Joined: Aug 16, 2007
Posts: 1374
Paul Sturrock wrote:It depends.


Wow!

Ok.Few used to grab the current system date. but it has a loop hole like you can change the system date. so this technique is no longer in use.

What really bugs me is, how come even after switching off the machine they sustain the date stamp? or they don't or they use completely different technique.
fred rosenberger
lowercase baba
Bartender

Joined: Oct 02, 2003
Posts: 10916
    
  12

There are probably dozens of ways they could do it. It might generate a hash value and ping against a central server, for example.


There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors
Vikas Kapoor
Ranch Hand

Joined: Aug 16, 2007
Posts: 1374
fred rosenberger wrote:There are probably dozens of ways they could do it. It might generate a hash value and ping against a central server, for example.

I have seen softwares expire even if you don't have internet connection.
Peter Johnson
author
Bartender

Joined: May 14, 2008
Posts: 5778
    
    7

On Windows a common technique is to place information, such as the installation timestamp, into a secured and hidden section of the registry. Then each time the app starts up it looks at that secured&hidden registry entry and compares that to the current date/time.


JBoss In Action
Vikas Kapoor
Ranch Hand

Joined: Aug 16, 2007
Posts: 1374
Peter Johnson wrote:On Windows a common technique is to place information, such as the installation timestamp, into a secured and hidden section of the registry. Then each time the app starts up it looks at that secured&hidden registry entry and compares that to the current date/time.

but what if I change my system date/time to some past date/time before starting the software? What if I remove button cell all together which keeps the clock ticking ? still they manage to calculate pending days.
W. Joe Smith
Ranch Hand

Joined: Feb 10, 2009
Posts: 710
Vikas Kapoor wrote:
Peter Johnson wrote:On Windows a common technique is to place information, such as the installation timestamp, into a secured and hidden section of the registry. Then each time the app starts up it looks at that secured&hidden registry entry and compares that to the current date/time.

but what if I change my system date/time to some past date/time before starting the software? What if I remove button cell all together which keeps the clock ticking ? still they manage to calculate pending days.


I'm not sure, but perhaps they contain a miniature version of the same type of program that the OS uses to keep time. I mean, if my computer isn't on the internet, it still keeps time.


SCJA
When I die, I want people to look at me and say "Yeah, he might have been crazy, but that was one zarkin frood that knew where his towel was."
Peter Johnson
author
Bartender

Joined: May 14, 2008
Posts: 5778
    
    7

It is fairly simple to get the current time from a time server on the network.
Vikas Kapoor
Ranch Hand

Joined: Aug 16, 2007
Posts: 1374
W. Joe Smith wrote:I'm not sure, but perhaps they contain a miniature version of the same type of program that the OS uses to keep time. I mean, if my computer isn't on the internet, it still keeps time.


That program must write it somewhere and it must have to compare it with some source. What is that source?
Vikas Kapoor
Ranch Hand

Joined: Aug 16, 2007
Posts: 1374
Peter Johnson wrote:It is fairly simple to get the current time from a time server on the network.


What if it is a standalone machine?
salvin francis
Ranch Hand

Joined: Jan 12, 2009
Posts: 917

Vikas Kapoor wrote:That program must write it somewhere and it must have to compare it with some source. What is that source?


The source is a file or for windows the registry, some systems consider external locations such as a server (network or online)

My Website: [Salvin.in] Cool your mind:[Salvin.in/painting] My Sally:[Salvin.in/sally]
W. Joe Smith
Ranch Hand

Joined: Feb 10, 2009
Posts: 710
Vikas Kapoor wrote:
W. Joe Smith wrote:I'm not sure, but perhaps they contain a miniature version of the same type of program that the OS uses to keep time. I mean, if my computer isn't on the internet, it still keeps time.


That program must write it somewhere and it must have to compare it with some source. What is that source?


Perhaps it stores it somewhere in the program the first time it boots up, then compares the amount of time that has passed with its own internal clock? I would think for programs that expire while not connected to the internet that could be a solution.
Vikas Kapoor
Ranch Hand

Joined: Aug 16, 2007
Posts: 1374
W. Joe Smith wrote:Perhaps it stores it somewhere in the program the first time it boots up, then compares the amount of time that has passed with its own internal clock?


And what keeps the clock ticking after the machine is switched off.

So I guess the conclusion is if
  • machine is standalone (neither local network connection not internet)
  • machine does not have button cell


  • then demo software will never expire. So it is better option to release the software with limited functionalities rather than fully functional software.

    Peter Johnson
    author
    Bartender

    Joined: May 14, 2008
    Posts: 5778
        
        7

    A lot of demo software you can install, and then on the day before it expires reset your clock to an earlier time (though avoid going to before the install date, the software can easily detect that cheat) and disconnect yourself for the network. Then the software has only the install time in the secured portion of the registry to go by. By doing this you could theoretically run the software forever.

    But that is a lot of hassle just to run a pirated piece of software. It would also mess up the timestamps of any of the files that you touch during that time (that is, the modified timestamp would be incorrect). This could in turn lead to other inconveniences (especially if you are running any kind of file synchronization software). My time is just too valuable to do something like this. But I suppose if a I had a spare machine that I could afford to run offline continuously, I could dedicate such a machine to running such pirated software.

    But it would be easier to create a virtual machine, install the demo software there, and when it expires, recreate the virtual machine (most likely from backup) and install the demo software again. But then ethics comes into play - I write software for a living, others do also, and pirating software is just plain wrong (hey, I like being paid and putting food on the table, so shoot me!). I have no qualms with paying for software that helps me do what I want, provided there is not a free alternative.
    W. Joe Smith
    Ranch Hand

    Joined: Feb 10, 2009
    Posts: 710
    Vikas Kapoor wrote:
    W. Joe Smith wrote:Perhaps it stores it somewhere in the program the first time it boots up, then compares the amount of time that has passed with its own internal clock?


    And what keeps the clock ticking after the machine is switched off.



    What keeps the regular OS clock ticking when the system is shut off?
    Peter Johnson
    author
    Bartender

    Joined: May 14, 2008
    Posts: 5778
        
        7

    The little clock battery on the motherboard supplies enough current to keep the system clock running even when powered off.
    W. Joe Smith
    Ranch Hand

    Joined: Feb 10, 2009
    Posts: 710
    Peter Johnson wrote:The little clock battery on the motherboard supplies enough current to keep the system clock running even when powered off.


    I did not know that. I learned something today!

    Anthony Hay
    Greenhorn

    Joined: Jan 08, 2010
    Posts: 13
    The little clock battery on the motherboard supplies enough current to keep the system clock running even when powered off.


    To expand on what Peter wrote

    computers don't shut all the way off when you shut theme down. Even if you remove the clock battery and shut down the computer it will draw a tiny amount of power from the wall to run the clock and keep the CMOS. So in order to stop the clock you would have to shutdown and unplug computer then remove the clock battery and wait a few minuets for the capacitors in the power supply filter to drain. Then your computers clock will be completely reset and won't count time until you power your computer up again. I don't recommend doing this even to keep pirated running as it erases the COMS settings which might cause a loss of performance or system instability.


    Solving problems is a hobby of mine, specially java problems.
     
    Don't get me started about those stupid light bulbs.
     
    subject: How do demo softwares expire?
     
    Similar Threads
    [SOLVED] Problem with LocaleAction + DynaActionForm
    Hibernate many-to-one relationship referring to a part of composite key
    JUnit and Cactus using strutstestCase
    doGet
    Dynamic Data Types in Eclipse
    Upload image from hard disk to ranch.
    Swapping of two Strings in the form of character arrays.....