CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 6 of 6
  1. #1
    Join Date
    Jun 2012
    Posts
    37

    Question Licensing software via internet.

    Hi There! How are you?

    I'm nearly finishing this project that consists of two parts: An electronic board with a microcontroller, eeprom memory and a firmware, and, the Windows software. I've finished it all, everything is great, except that I have no idea how to solve the following problem:

    This board must be locked (not licensed), which means that it will not work unless it is unlocked (licensed via internet).

    In order to unlock it, the end user will have to connect the board to the computer (USB), open the Windows software, which will acknowledge that the board is "unlicensed", and finally open the product's website and make a payment. Once the payment is made, the Windows software "somehow" will acknowledge the payment and UNLOCK the board. Once the board has been unlocked, it will work "forever"

    The board lock / unlock process is fairly easy, as it contains a non-volatile memory that I can "flip a bit" for example. What I need help to accomplish is the part that once the payment is made via internet, the Windows software "gets to know it". I honestly have no idea how to do such thing. Any clues? Any suggestions? Where can I start digging around to find a solution?

    The Windows software was written using Visual C++ 2008.

    Any tips / ideas will be VERY welcome.

    Thank you in advance!

    Best wishes,

    Fernando P.

  2. #2
    Join Date
    Jun 2010
    Location
    Germany
    Posts
    2,675

    Re: Licensing software via internet.

    Well, I don't have any tip about the payment signaling thing, but that looks reatively common, so probaly someone else can jump in.

    But... Why do you want to bind hardware activation to a software-bound payment confirmation? Now that looks rather uncommon to me. A vast lot of software vendors would be happy to sell their software "hard-bundled" (i.e. wouldn't work without it) with some bit of hardware. Software is easy to copy, hardware is not. Actually, the mere concept of dongles is based on the idea of selling software along with an otherwise unnecessary bit of hardware, just for the purpose of unlocking the software.

    I can hardly imagine you'd be deploying your hardware over some free channel to people who then may or may not buy your software; and if they don't buy the software, they may use your hardware as some sort of really fancy free beer mat... Even more so if, as I understand your post, the hardware wouldn't be of any use without your software anyway.

    Not just that hardware is harder to copy than software, it's also way more expensive to manufacture. So I somehow don't see any point at all in your question. ... or maybe I have completely misunderstood it...
    Last edited by Eri523; January 2nd, 2013 at 09:44 PM.
    I was thrown out of college for cheating on the metaphysics exam; I looked into the soul of the boy sitting next to me.

    This is a snakeskin jacket! And for me it's a symbol of my individuality, and my belief... in personal freedom.

  3. #3
    Join Date
    Feb 2011
    Location
    United States
    Posts
    1,016

    Re: Licensing software via internet.

    Eri seems to have the right idea, I think. If on the other hand, you WERE committed to doing it as you describe: Not that I have any experience doing it, but my first thought would be to do the payment through something like Paypal and have the software query them via their API: https://cms.paypal.com/us/cgi-bin/?c...o_api_overview
    Best Regards,

    BioPhysEngr
    http://blog.biophysengr.net
    --
    All advice is offered in good faith only. You are ultimately responsible for effects of your programs and the integrity of the machines they run on.

  4. #4
    Join Date
    Jun 2012
    Posts
    37

    Re: Licensing software via internet.

    Yeah I imagine how this sounds strange!

    But yeah! Here's what's going on: I've developed this project, hardware, firmware and software. I won't be the one manufacturing it (it's out of my possibilities), so I must arrange business with a well established company that is already in the market. If the product "works out of the box" I'm ****** because there won't be anyway to control how many have been sold and how much I can get. If I receive the fee from the manufacturer, I can only charge ridiculously little because the price builds up 5 times from factory -> shelf price. Therefore, I must get paid from the final user. Another problem is that the software can not be "attached" to one computer. Because this is the type of product that different computers at different moments will be hooked up to the product's hardware, any computer must work. So I can't have the license attached to the computer itself. Once activated, the board will work with any computer, that's why I'm "licensing the board" instead of the windows software. I was talking to my friend Alan, which is a developer, and he recommended me this:

    http://www.ssware.com/cryptolicensing/features_net.htm

    I'll be looking into it, as well as the PayPal's API.

  5. #5
    Join Date
    Feb 2011
    Location
    United States
    Posts
    1,016

    Re: Licensing software via internet.

    Hrm, would it be possible to just have the manufacturer produce a batch for your inventory that you can then sell at retail? That seems simplier. Alternatively, you might be able to get a reasonable price on PCBs (see, e.g. https://www.batchpcb.com/ ??) and components (Digikey or whatnot) and solder together the product yourself, depending on complexity. So, pretty much, how complex is the board (perhaps we can see some alternatives). It seems like it'd be MUCH better to give your customers a works-out-of-the-box solution than your current plan. Also, I think there may be some rules about sold goods being 'fit for a particular purpose' in some jurisdictions (I am not a lawyer), so be sure that selling a useless-until-activated device doesn't somehow violate whatever those regulations are.

    I think you're going to find it difficult to implement a secure scheme. If you're protecting against casual ... uh... piracy? ... just having a bit you flip in the firmware is probably sufficient. Having some sort of complicated DRM scheme seems WAY overkill. If someone if going to go to the trouble of manually dumping the firmware of the board, they can just comment out the DRM-check instead of trying to reverse engineer the encryption.

    At any rate, good luck. If you give more details, perhaps we might have more suggestions!
    Best Regards,

    BioPhysEngr
    http://blog.biophysengr.net
    --
    All advice is offered in good faith only. You are ultimately responsible for effects of your programs and the integrity of the machines they run on.

  6. #6
    Join Date
    Jul 2005
    Location
    Netherlands
    Posts
    2,042

    Re: Licensing software via internet.

    Quote Originally Posted by fernando306 View Post
    Another problem is that the software can not be "attached" to one computer. Because this is the type of product that different computers at different moments will be hooked up to the product's hardware, any computer must work. So I can't have the license attached to the computer itself. Once activated, the board will work with any computer, that's why I'm "licensing the board" instead of the windows software.
    You can make licenses that can be installed on different computers. Seems like the link you provided does just that. All the user would have to do to use the software on a different computer is install the license (i.e. activate the software).
    Cheers, D Drmmr

    Please put [code][/code] tags around your code to preserve indentation and make it more readable.

    As long as man ascribes to himself what is merely a posibility, he will not work for the attainment of it. - P. D. Ouspensky

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured