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
CODE PROJECT For Those Who Code
  • Home
  • Articles
  • FAQ
Community
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. shareware / registration techniques....

shareware / registration techniques....

Scheduled Pinned Locked Moved C / C++ / MFC
helpannouncement
5 Posts 4 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
    joshfl
    wrote on last edited by
    #1

    hi all!! I need to take a look at some good shareware / registration coding techniques /tips. I have made an app. that im going to release as shareware, and now i just need to plug in some kind of reg. code scheme to enable the features once they enter my code or something like this. id like pros / cons of the various standards available, and some links would be great too... thanks for anyones help in advance... josh todo.... :: insert inpirational text here ::

    M M C 3 Replies Last reply
    0
    • J joshfl

      hi all!! I need to take a look at some good shareware / registration coding techniques /tips. I have made an app. that im going to release as shareware, and now i just need to plug in some kind of reg. code scheme to enable the features once they enter my code or something like this. id like pros / cons of the various standards available, and some links would be great too... thanks for anyones help in advance... josh todo.... :: insert inpirational text here ::

      M Offline
      M Offline
      Maximilien
      wrote on last edited by
      #2

      Don't bother with registration and stuff like that.... if it's a good shareware, it will be cracked and hacked. just make a "free" shareware nag-ware, with pop-up dialogs showing from time to time, remove some basic functionnalities ( like save/export ... ), limit some other functionalities ( e.g. limiting input size, limit number of files loaded in one runtime, ... ) One thing, you can do, is to have the user need to send you a valid Email to download the software, in the Email, you give a one-time only full download path; but that is extra work on the web site. Max.

      1 Reply Last reply
      0
      • J joshfl

        hi all!! I need to take a look at some good shareware / registration coding techniques /tips. I have made an app. that im going to release as shareware, and now i just need to plug in some kind of reg. code scheme to enable the features once they enter my code or something like this. id like pros / cons of the various standards available, and some links would be great too... thanks for anyones help in advance... josh todo.... :: insert inpirational text here ::

        M Offline
        M Offline
        mynab
        wrote on last edited by
        #3

        Hello, You should keep it simple: it will be cracked anyway if it catches some attention! I used an encryption algorithm (Blowfish in my case): I encrypt the e-mail of the registered user using a private key and the algo. You will get an hexadecimal buffer (16 chars ranging from 0 to 255) that you can translate to something that can be typed: for instance change each character to its written hexadecimal representation on two characters: this has the disadvantage of doubling the length of your serial number but that's the way it is. You get something like B0AA7D4350A88F... and so on. If you want to do an evaluation period for it you should refer to http://www.codeproject.com/system/cexpire01.asp[^], a good stuff available. Regards, mynab

        M 1 Reply Last reply
        0
        • M mynab

          Hello, You should keep it simple: it will be cracked anyway if it catches some attention! I used an encryption algorithm (Blowfish in my case): I encrypt the e-mail of the registered user using a private key and the algo. You will get an hexadecimal buffer (16 chars ranging from 0 to 255) that you can translate to something that can be typed: for instance change each character to its written hexadecimal representation on two characters: this has the disadvantage of doubling the length of your serial number but that's the way it is. You get something like B0AA7D4350A88F... and so on. If you want to do an evaluation period for it you should refer to http://www.codeproject.com/system/cexpire01.asp[^], a good stuff available. Regards, mynab

          M Offline
          M Offline
          mynab
          wrote on last edited by
          #4

          Forgot to mention that big disadvantage is that private key appears in the binary. Try to hide it for instance by creating a 64-char random string and then start your private key at say character 10. Again this is easily crackable but as I said if your shareware is worth being cracked it will be anyway.

          1 Reply Last reply
          0
          • J joshfl

            hi all!! I need to take a look at some good shareware / registration coding techniques /tips. I have made an app. that im going to release as shareware, and now i just need to plug in some kind of reg. code scheme to enable the features once they enter my code or something like this. id like pros / cons of the various standards available, and some links would be great too... thanks for anyones help in advance... josh todo.... :: insert inpirational text here ::

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

            first, everything is breakable. second, the fewer restrictions you place on users, the more registrations you get - really. if you make it a pain in the ass to use your app on a trial basis, people won't get to really use and grow dependent on your app (the ultimate goal!). a simple time limit (14 or 30 days) is easy to implement, and easy to beat, but it does get a lot of registrations simply because people get tired of having to reset their clocks or track down your registry keys. a two part key is pretty simple to do, too: get some user info, get some user options. combine these into a string of bytes (hash the username, add the user option bytes to the end of the buffer). encrypt the whole thing. convert it to a string of hex chars, send this to the user. when the user enters his name to register, hash it. decrypt the license, compare the hash to the hashed name in the key. if they match, get the user option bytes and things are all set. to do this, you need a) a hash function (any cipher can do this, block or stream). this goes in your app and the key gen. even CRC or checksum would work here. b) a cipher to encrypt/decrypt the key. you'll need this in your app and the key gen. (public key is best) c) a function to combine and encrypt the data in the key gen. d) a function to decrypt and split the key data in your app. -c


            I'm not the droid you're looking for.

            ThumbNailer

            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