Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Software working for limited time period

Software working for limited time period

Scheduled Pinned Locked Moved The Lounge
questiontutorial
27 Posts 21 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    Johan Lombaard
    wrote on last edited by
    #1

    I hope this is the correct forum. It's definitely not a coding question, since I'm looking for ideas on the WHAT, not the HOW ... I need to give users a 30 day trial period on a product, but I want to prevent them from changing back the clock to get the software to work again. Just storing a flag when it has expired will not solve it, since the user can still keep setting it back on day 29. Does anyone have ideas on how to best do this ?

    Johan Lombaard Only two things are infinite, the universe and human stupidity, and I'm not sure about the former - Albert Einstein

    E R C D C 13 Replies Last reply
    0
    • J Johan Lombaard

      I hope this is the correct forum. It's definitely not a coding question, since I'm looking for ideas on the WHAT, not the HOW ... I need to give users a 30 day trial period on a product, but I want to prevent them from changing back the clock to get the software to work again. Just storing a flag when it has expired will not solve it, since the user can still keep setting it back on day 29. Does anyone have ideas on how to best do this ?

      Johan Lombaard Only two things are infinite, the universe and human stupidity, and I'm not sure about the former - Albert Einstein

      E Offline
      E Offline
      El Corazon
      wrote on last edited by
      #2

      Johan Lombaard wrote:

      I hope this is the correct forum. It's definitely not a coding question, since I'm looking for ideas on the WHAT, not the HOW ... I need to give users a 30 day trial period on a product, but I want to prevent them from changing back the clock to get the software to work again. Just storing a flag when it has expired will not solve it, since the user can still keep setting it back on day 29. Does anyone have ideas on how to best do this ?

      store minutes left in registry key, update at various intervals, this is a countdown, so outside of gaining a few minutes by shutting down between your updates, it is irrelvant to the physical date. Also direct byte storage to a sector. Or if you are really up to the task, write it back to the executable in an encrypted and CRC'd block (to reduce editing). I did the latter and regretted it through no fault of my own, that is sort of what I get for trying to create a new encryption style.

      _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)

      R 1 Reply Last reply
      0
      • J Johan Lombaard

        I hope this is the correct forum. It's definitely not a coding question, since I'm looking for ideas on the WHAT, not the HOW ... I need to give users a 30 day trial period on a product, but I want to prevent them from changing back the clock to get the software to work again. Just storing a flag when it has expired will not solve it, since the user can still keep setting it back on day 29. Does anyone have ideas on how to best do this ?

        Johan Lombaard Only two things are infinite, the universe and human stupidity, and I'm not sure about the former - Albert Einstein

        R Offline
        R Offline
        rrrado
        wrote on last edited by
        #3

        what about hide installation date somewhere into registry? I know this won't stop any cracker but in fact there is nothing what would stop good cracker :)


        rrrado

        C H 2 Replies Last reply
        0
        • J Johan Lombaard

          I hope this is the correct forum. It's definitely not a coding question, since I'm looking for ideas on the WHAT, not the HOW ... I need to give users a 30 day trial period on a product, but I want to prevent them from changing back the clock to get the software to work again. Just storing a flag when it has expired will not solve it, since the user can still keep setting it back on day 29. Does anyone have ideas on how to best do this ?

          Johan Lombaard Only two things are infinite, the universe and human stupidity, and I'm not sure about the former - Albert Einstein

          C Offline
          C Offline
          Chris Losinger
          wrote on last edited by
          #4

          Johan Lombaard wrote:

          Does anyone have ideas on how to best do this ?

          fetch the current time from some place on the web.

          image processing toolkits | batch image processing

          1 Reply Last reply
          0
          • J Johan Lombaard

            I hope this is the correct forum. It's definitely not a coding question, since I'm looking for ideas on the WHAT, not the HOW ... I need to give users a 30 day trial period on a product, but I want to prevent them from changing back the clock to get the software to work again. Just storing a flag when it has expired will not solve it, since the user can still keep setting it back on day 29. Does anyone have ideas on how to best do this ?

            Johan Lombaard Only two things are infinite, the universe and human stupidity, and I'm not sure about the former - Albert Einstein

            D Offline
            D Offline
            David Crow
            wrote on last edited by
            #5

            Johan Lombaard wrote:

            ...the user can still keep setting it back on day 29.

            Does your application require Internet connectivity?


            "A good athlete is the result of a good and worthy opponent." - David Crow

            "To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne

            L 1 Reply Last reply
            0
            • E El Corazon

              Johan Lombaard wrote:

              I hope this is the correct forum. It's definitely not a coding question, since I'm looking for ideas on the WHAT, not the HOW ... I need to give users a 30 day trial period on a product, but I want to prevent them from changing back the clock to get the software to work again. Just storing a flag when it has expired will not solve it, since the user can still keep setting it back on day 29. Does anyone have ideas on how to best do this ?

              store minutes left in registry key, update at various intervals, this is a countdown, so outside of gaining a few minutes by shutting down between your updates, it is irrelvant to the physical date. Also direct byte storage to a sector. Or if you are really up to the task, write it back to the executable in an encrypted and CRC'd block (to reduce editing). I did the latter and regretted it through no fault of my own, that is sort of what I get for trying to create a new encryption style.

              _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)

              R Offline
              R Offline
              rrrado
              wrote on last edited by
              #6

              Self-ediding exe is not so easy ... and does not help when user reinstalls the software


              rrrado

              E 1 Reply Last reply
              0
              • J Johan Lombaard

                I hope this is the correct forum. It's definitely not a coding question, since I'm looking for ideas on the WHAT, not the HOW ... I need to give users a 30 day trial period on a product, but I want to prevent them from changing back the clock to get the software to work again. Just storing a flag when it has expired will not solve it, since the user can still keep setting it back on day 29. Does anyone have ideas on how to best do this ?

                Johan Lombaard Only two things are infinite, the universe and human stupidity, and I'm not sure about the former - Albert Einstein

                C Offline
                C Offline
                Chris Meech
                wrote on last edited by
                #7

                You could check for the "real" time by looking for a time server. But this would require an internet connection, which may not be available. You can also build trial versions that use 'phone home' capabilities built in. But be up front with you potential client about that.

                Chris Meech I am Canadian. [heard in a local bar]

                1 Reply Last reply
                0
                • J Johan Lombaard

                  I hope this is the correct forum. It's definitely not a coding question, since I'm looking for ideas on the WHAT, not the HOW ... I need to give users a 30 day trial period on a product, but I want to prevent them from changing back the clock to get the software to work again. Just storing a flag when it has expired will not solve it, since the user can still keep setting it back on day 29. Does anyone have ideas on how to best do this ?

                  Johan Lombaard Only two things are infinite, the universe and human stupidity, and I'm not sure about the former - Albert Einstein

                  P Offline
                  P Offline
                  Paddy Boyd
                  wrote on last edited by
                  #8

                  This might not be particularly to the point, but I recall reading an article by somebody, the gist of which was that he started making more sales when he switched from time limited demos to limited functionality/unlimited time demos. Users seemed more likely to buy the product when they could see functionality there that would be useful but that they couldn't get to.

                  C H J 3 Replies Last reply
                  0
                  • J Johan Lombaard

                    I hope this is the correct forum. It's definitely not a coding question, since I'm looking for ideas on the WHAT, not the HOW ... I need to give users a 30 day trial period on a product, but I want to prevent them from changing back the clock to get the software to work again. Just storing a flag when it has expired will not solve it, since the user can still keep setting it back on day 29. Does anyone have ideas on how to best do this ?

                    Johan Lombaard Only two things are infinite, the universe and human stupidity, and I'm not sure about the former - Albert Einstein

                    J Offline
                    J Offline
                    Justin Perez
                    wrote on last edited by
                    #9

                    From what I have seen and heard, there is no good way to do trial software that can't be cracked by someone. The only viable solution I see is to store the user dates of expiration on a server, and force communication between the server and your app. If you don't have internet connectivity, then that option becomes a problem. Have you thought about doing a freeware version, with extremely limited functionality? You can have alot of advanced options disabled, and have a description for them. Then the user can see them, and a description of what they do.

                    I get all the news I need from the weather report - Paul Simon (from "The Only Living Boy in New York")

                    1 Reply Last reply
                    0
                    • P Paddy Boyd

                      This might not be particularly to the point, but I recall reading an article by somebody, the gist of which was that he started making more sales when he switched from time limited demos to limited functionality/unlimited time demos. Users seemed more likely to buy the product when they could see functionality there that would be useful but that they couldn't get to.

                      C Offline
                      C Offline
                      ChesterPoindexter
                      wrote on last edited by
                      #10

                      That's the conclusion we came to. When the users grasp the functionatlity and see what they will get purchasing it's much more effective. Plus, the more sophisticated the technique for limited "demo" time period the more time you spend maintaining the code/process. And someone will break it down eventually.

                      Thomas

                      1 Reply Last reply
                      0
                      • J Johan Lombaard

                        I hope this is the correct forum. It's definitely not a coding question, since I'm looking for ideas on the WHAT, not the HOW ... I need to give users a 30 day trial period on a product, but I want to prevent them from changing back the clock to get the software to work again. Just storing a flag when it has expired will not solve it, since the user can still keep setting it back on day 29. Does anyone have ideas on how to best do this ?

                        Johan Lombaard Only two things are infinite, the universe and human stupidity, and I'm not sure about the former - Albert Einstein

                        N Offline
                        N Offline
                        NormDroid
                        wrote on last edited by
                        #11

                        Sell an atomic clock with the software.

                        Roger Irrelevant "he's completely hatstand"

                        1 Reply Last reply
                        0
                        • R rrrado

                          Self-ediding exe is not so easy ... and does not help when user reinstalls the software


                          rrrado

                          E Offline
                          E Offline
                          El Corazon
                          wrote on last edited by
                          #12

                          rrrado wrote:

                          Self-ediding exe is not so easy

                          self-editing exe is a piece of cake, but you are correct, it doesn't stop reinstalls. I used it as a cross reference to the hidden sectored equivalent this way it had a doubled checked counterpart.

                          _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)

                          T 1 Reply Last reply
                          0
                          • J Johan Lombaard

                            I hope this is the correct forum. It's definitely not a coding question, since I'm looking for ideas on the WHAT, not the HOW ... I need to give users a 30 day trial period on a product, but I want to prevent them from changing back the clock to get the software to work again. Just storing a flag when it has expired will not solve it, since the user can still keep setting it back on day 29. Does anyone have ideas on how to best do this ?

                            Johan Lombaard Only two things are infinite, the universe and human stupidity, and I'm not sure about the former - Albert Einstein

                            E Offline
                            E Offline
                            Ennis Ray Lynch Jr
                            wrote on last edited by
                            #13

                            On option is to have a critical dll for the application built dynamically with the restriction at delivery time, ie when they click download now. It doesn't work if the disk is burnt and mass produced however. One Key thing to keep in mind is that Adobe Photoshop is the definitive software graphics package and they have a 30 day trial and it is always cracked. I wouldn't much time keeping people honest. Software thieves are not likely to pay just because the trial is hard to crack.


                            Need a C# Consultant? I'm available.
                            Happiness in intelligent people is the rarest thing I know. -- Ernest Hemingway

                            1 Reply Last reply
                            0
                            • J Johan Lombaard

                              I hope this is the correct forum. It's definitely not a coding question, since I'm looking for ideas on the WHAT, not the HOW ... I need to give users a 30 day trial period on a product, but I want to prevent them from changing back the clock to get the software to work again. Just storing a flag when it has expired will not solve it, since the user can still keep setting it back on day 29. Does anyone have ideas on how to best do this ?

                              Johan Lombaard Only two things are infinite, the universe and human stupidity, and I'm not sure about the former - Albert Einstein

                              A Offline
                              A Offline
                              Anna Jayne Metcalfe
                              wrote on last edited by
                              #14

                              Try searching the Business of Software Forum[^]. That particular question has been answered there many, many times there before. From personal experience I can tell you that it's far easier and more secure to use a third party licencing component than to try to write your own.

                              Anna :rose: Linting the day away :cool: Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"

                              E H J H 4 Replies Last reply
                              0
                              • A Anna Jayne Metcalfe

                                Try searching the Business of Software Forum[^]. That particular question has been answered there many, many times there before. From personal experience I can tell you that it's far easier and more secure to use a third party licencing component than to try to write your own.

                                Anna :rose: Linting the day away :cool: Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"

                                E Offline
                                E Offline
                                El Corazon
                                wrote on last edited by
                                #15

                                Anna-Jayne Metcalfe wrote:

                                From personal experience

                                and less headaches if your security algorithms get used for alternate and more troublesome uses by others.... :sigh:

                                _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb)

                                1 Reply Last reply
                                0
                                • J Johan Lombaard

                                  I hope this is the correct forum. It's definitely not a coding question, since I'm looking for ideas on the WHAT, not the HOW ... I need to give users a 30 day trial period on a product, but I want to prevent them from changing back the clock to get the software to work again. Just storing a flag when it has expired will not solve it, since the user can still keep setting it back on day 29. Does anyone have ideas on how to best do this ?

                                  Johan Lombaard Only two things are infinite, the universe and human stupidity, and I'm not sure about the former - Albert Einstein

                                  E Offline
                                  E Offline
                                  econner
                                  wrote on last edited by
                                  #16

                                  I have used AVLock Gold for .NET. (http://valega.com/[^]) I also obfuscated my application files as well as the DLL file from AVLock

                                  1 Reply Last reply
                                  0
                                  • R rrrado

                                    what about hide installation date somewhere into registry? I know this won't stop any cracker but in fact there is nothing what would stop good cracker :)


                                    rrrado

                                    C Offline
                                    C Offline
                                    code frog 0
                                    wrote on last edited by
                                    #17

                                    Actually there is. The iPhone will stop any hackers... er wait... nevermind.:-D

                                    What I am up to: ReadyToGiveUp(Not!)[^] What friends are up to:SQLServerCentral[^]

                                    1 Reply Last reply
                                    0
                                    • P Paddy Boyd

                                      This might not be particularly to the point, but I recall reading an article by somebody, the gist of which was that he started making more sales when he switched from time limited demos to limited functionality/unlimited time demos. Users seemed more likely to buy the product when they could see functionality there that would be useful but that they couldn't get to.

                                      H Offline
                                      H Offline
                                      Hamed Musavi
                                      wrote on last edited by
                                      #18

                                      That's the best way I guess. Further than that, almost any lock will break, but if the demo has NOT some functions at all, then it's uncrackable and it is not likely that a hacker buys a software to hack it. p.s. Disabling functionality might break easily. It's better to remove codes from functions you don't want to be in demo version.

                                      // "Life is very short and is very fragile also." Yanni
                                      while (I'm_alive)
                                      {
                                      cout<<"I love programming.";
                                      }

                                      1 Reply Last reply
                                      0
                                      • P Paddy Boyd

                                        This might not be particularly to the point, but I recall reading an article by somebody, the gist of which was that he started making more sales when he switched from time limited demos to limited functionality/unlimited time demos. Users seemed more likely to buy the product when they could see functionality there that would be useful but that they couldn't get to.

                                        J Offline
                                        J Offline
                                        John M Drescher
                                        wrote on last edited by
                                        #19

                                        I think this depends on the user. I have not purchased any diskkeeper software in the past (although I have tried the product many times) primarily because the restricted functionality demo did not function well enough for me to want to buy the full version. Specifically running the demo will not defragment a hard drive by more than a few percent so after an initial run with a NTFS drive with 80% fragmentation (I do a lot of programming) after running it the fragmentation was reduced to 76% wow. On more than one occasion I actually took the time to email them that by not letting me try the software to see that it indeed does what it claims that they would not get any licences from my department... [EDIT]Well they now have a full functional version. If I get some free time I will give it a try.[/EDIT]

                                        John

                                        1 Reply Last reply
                                        0
                                        • A Anna Jayne Metcalfe

                                          Try searching the Business of Software Forum[^]. That particular question has been answered there many, many times there before. From personal experience I can tell you that it's far easier and more secure to use a third party licencing component than to try to write your own.

                                          Anna :rose: Linting the day away :cool: Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"

                                          H Offline
                                          H Offline
                                          Hamed Musavi
                                          wrote on last edited by
                                          #20

                                          Anna-Jayne Metcalfe wrote:

                                          it's far easier and more secure to use a third party licencing component

                                          Yes, but some times you want to change something that is not implemented yet. I had this trouble with one of them. I also should add that 'never use hardware locks'. Most of those usb, serial or parallel locks are a piece of sh*t. Just think about you want to update executable automatically, but you have to have the hardware to re enable security per user:wtf:. -- modified at 14:30 Thursday 30th August, 2007

                                          // "Life is very short and is very fragile also." Yanni
                                          while (I'm_alive)
                                          {
                                          cout<<"I love programming.";
                                          }

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups