• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

How do demo softwares expire?

 
Ranch Hand
Posts: 1374
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
How do they count number of days passed/left?
 
Bartender
Posts: 10336
Hibernate Eclipse IDE Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
It depends.
 
Vikas Kapoor
Ranch Hand
Posts: 1374
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.
 
lowercase baba
Posts: 13089
67
Chrome Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.
 
author
Posts: 5856
7
Android Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
    Number of slices to send:
    Optional 'thank-you' note:
  • 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.
 
Ranch Hand
Posts: 710
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
Posts: 5856
7
Android Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
    Number of slices to send:
    Optional 'thank-you' note:
  • 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?
 
Bartender
Posts: 2911
150
Google Web Toolkit Eclipse IDE Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
    Number of slices to send:
    Optional 'thank-you' note:
  • 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
    Posts: 5856
    7
    Android Eclipse IDE Ubuntu
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • 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
      Number of slices to send:
      Optional 'thank-you' note:
    • 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
    Posts: 5856
    7
    Android Eclipse IDE Ubuntu
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • 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
      Number of slices to send:
      Optional 'thank-you' note:
    • 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!

     
    Greenhorn
    Posts: 13
    • Mark post as helpful
    • send pies
      Number of slices to send:
      Optional 'thank-you' note:
    • 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.
     
    Consider Paul's rocket mass heater.
    reply
      Bookmark Topic Watch Topic
    • New Topic