• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

How do demo softwares expire?

 
Vikas Kapoor
Ranch Hand
Posts: 1374
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
How do they count number of days passed/left?
 
Paul Sturrock
Bartender
Posts: 10336
Eclipse IDE Hibernate Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It depends.
 
Vikas Kapoor
Ranch Hand
Posts: 1374
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 12123
30
Chrome Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
There are probably dozens of ways they could do it. It might generate a hash value and ping against a central server, for example.
 
Vikas Kapoor
Ranch Hand
Posts: 1374
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 5852
7
Android Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Vikas Kapoor
Ranch Hand
Posts: 1374
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 710
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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.
 
Peter Johnson
author
Bartender
Posts: 5852
7
Android Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It is fairly simple to get the current time from a time server on the network.
 
Vikas Kapoor
Ranch Hand
Posts: 1374
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 1374
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Bartender
Posts: 1274
10
Eclipse IDE Google Web Toolkit Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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)
 
W. Joe Smith
Ranch Hand
Posts: 710
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 1374
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
    Posts: 5852
    7
    Android Eclipse IDE Ubuntu
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    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
    Posts: 710
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    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
    Posts: 5852
    7
    Android Eclipse IDE Ubuntu
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    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
    Posts: 710
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    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
    Posts: 13
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    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.
     
    • Post Reply
    • Bookmark Topic Watch Topic
    • New Topic