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. General Programming
  3. C#
  4. Implementing Serial number / Trial version

Implementing Serial number / Trial version

Scheduled Pinned Locked Moved C#
c++comtutorialquestionannouncement
7 Posts 6 Posters 14 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.
  • B Offline
    B Offline
    Bog
    wrote on last edited by
    #1

    I want to make a trial version of my program, I want it to expire after 30 days, and if you want more you buy a serial number. (In other words; the usual.) I know this is a very common thing but I've never done it before, can anyone point me to some tutorials or something about how to do this? I'm thinking I can make a win32 C++ dll and interop with it to avoid being easily decompiled, but I don't know how to get started with the s/n and expiration stuff. Thanks "Outside of a dog, a book is Man’s best friend. And inside of a dog, it’s too dark to read." -Groucho Marx

    D P S 3 Replies Last reply
    0
    • B Bog

      I want to make a trial version of my program, I want it to expire after 30 days, and if you want more you buy a serial number. (In other words; the usual.) I know this is a very common thing but I've never done it before, can anyone point me to some tutorials or something about how to do this? I'm thinking I can make a win32 C++ dll and interop with it to avoid being easily decompiled, but I don't know how to get started with the s/n and expiration stuff. Thanks "Outside of a dog, a book is Man’s best friend. And inside of a dog, it’s too dark to read." -Groucho Marx

      D Offline
      D Offline
      Daniel Turini
      wrote on last edited by
      #2

      Bog wrote: I want to make a trial version of my program, I want it to expire after 30 days, and if you want more you buy a serial number. (In other words; the usual.) I know this is a very common thing but I've never done it before, can anyone point me to some tutorials or something about how to do this? I'm thinking I can make a win32 C++ dll and interop with it to avoid being easily decompiled, but I don't know how to get started with the s/n and expiration stuff. Sorry for not giving a solution to you: I think you won't have an easy solution. Protection schemes that use a separate DLL are simply not safe. What one normally needs to do is to create a dummy DLL and provide the application with it. Anyone capable of decompiling an app should be capable of creating such a DLL. I too am looking for a good protection scheme for .NET but I was not able to find such a thing yet, even with hard locks involved. My latest article: GBVB - Converting VB.NET code to C#

      1 Reply Last reply
      0
      • B Bog

        I want to make a trial version of my program, I want it to expire after 30 days, and if you want more you buy a serial number. (In other words; the usual.) I know this is a very common thing but I've never done it before, can anyone point me to some tutorials or something about how to do this? I'm thinking I can make a win32 C++ dll and interop with it to avoid being easily decompiled, but I don't know how to get started with the s/n and expiration stuff. Thanks "Outside of a dog, a book is Man’s best friend. And inside of a dog, it’s too dark to read." -Groucho Marx

        P Offline
        P Offline
        Patrick Lassalle
        wrote on last edited by
        #3

        A possible solution: encrypt the serial number with an asymmetric algorithm. Even after decompilation, people will find the public key needed to decrypt the serial number but they will not find the private key needed to crypt it.

        1 Reply Last reply
        0
        • B Bog

          I want to make a trial version of my program, I want it to expire after 30 days, and if you want more you buy a serial number. (In other words; the usual.) I know this is a very common thing but I've never done it before, can anyone point me to some tutorials or something about how to do this? I'm thinking I can make a win32 C++ dll and interop with it to avoid being easily decompiled, but I don't know how to get started with the s/n and expiration stuff. Thanks "Outside of a dog, a book is Man’s best friend. And inside of a dog, it’s too dark to read." -Groucho Marx

          S Offline
          S Offline
          shaunAustin
          wrote on last edited by
          #4

          I've had this issue before. Unless you want to pay out loads of cash for a protection package which will almost certainly get cracked you should just put some simple time expiry code in. Maybe add a time stamp to an innocent file somewhere or something. The thing is in my experience, if you produce a nice little app and distribute it as a trial then get people to buy. Most people will- if it is a good application- pay the few quid to get the full version. The issue really is that if it is an app that is __so__ good that it becomes __very__ popular, it doesn't matter what scheme people use to protect it, it WILL be cracked and on Kazaa within 24 hours. (as with Windows XP, Office XP, PhotoShop, InDesign etc etc etc all cracked and shared despite the investment in copy protection and license enforcement!) You can't win. The only 98% way of securing the software is to use something like hardware dongling... but that's a different set of deployment scenarios. :)

          D L 2 Replies Last reply
          0
          • S shaunAustin

            I've had this issue before. Unless you want to pay out loads of cash for a protection package which will almost certainly get cracked you should just put some simple time expiry code in. Maybe add a time stamp to an innocent file somewhere or something. The thing is in my experience, if you produce a nice little app and distribute it as a trial then get people to buy. Most people will- if it is a good application- pay the few quid to get the full version. The issue really is that if it is an app that is __so__ good that it becomes __very__ popular, it doesn't matter what scheme people use to protect it, it WILL be cracked and on Kazaa within 24 hours. (as with Windows XP, Office XP, PhotoShop, InDesign etc etc etc all cracked and shared despite the investment in copy protection and license enforcement!) You can't win. The only 98% way of securing the software is to use something like hardware dongling... but that's a different set of deployment scenarios. :)

            D Offline
            D Offline
            Daniel Turini
            wrote on last edited by
            #5

            I second that! My latest article: GBVB - Converting VB.NET code to C#

            B 1 Reply Last reply
            0
            • D Daniel Turini

              I second that! My latest article: GBVB - Converting VB.NET code to C#

              B Offline
              B Offline
              BigAndy
              wrote on last edited by
              #6

              I agree. Don't waste too much time in developing some "secure" serial number/trial version scheme. Better to spend that time making your application better. If companies like Microsoft, Adobe and Macromedia can't stop cracking/hacking, what chance do we have? If your software is any good it WILL be cracked one way or another. ----------------------------- Try my Batch Image Processing Software
              Read my DirectX 8 Tutorials

              1 Reply Last reply
              0
              • S shaunAustin

                I've had this issue before. Unless you want to pay out loads of cash for a protection package which will almost certainly get cracked you should just put some simple time expiry code in. Maybe add a time stamp to an innocent file somewhere or something. The thing is in my experience, if you produce a nice little app and distribute it as a trial then get people to buy. Most people will- if it is a good application- pay the few quid to get the full version. The issue really is that if it is an app that is __so__ good that it becomes __very__ popular, it doesn't matter what scheme people use to protect it, it WILL be cracked and on Kazaa within 24 hours. (as with Windows XP, Office XP, PhotoShop, InDesign etc etc etc all cracked and shared despite the investment in copy protection and license enforcement!) You can't win. The only 98% way of securing the software is to use something like hardware dongling... but that's a different set of deployment scenarios. :)

                L Offline
                L Offline
                leppie
                wrote on last edited by
                #7

                The best protection I have seen was for Virtual TurnTables. If you tried to debug the exe, it would simply shutdown your system. But even that wont stop the crackers.

                leppie::AllocCPArticle(Generic DFA State Machine for .NET);

                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