1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

How to implement server side licensing system?

Discussion in 'General Programming Chat' started by welly_59, Jul 5, 2015.

  1. welly_59

    welly_59 Power Member

    Joined:
    Aug 30, 2011
    Messages:
    698
    Likes Received:
    258
    I have had a bot created that I wish to develop further, specifically I want to have a server side licensing system implemented so that it will be possible to sell the software.

    Anyone here able to offer help on how to do that or interested in working with me?

    It's coded in c# and I have full source code available
     
  2. auraita

    auraita Regular Member

    Joined:
    Dec 30, 2013
    Messages:
    283
    Likes Received:
    280
  3. fatboy

    fatboy Elite Member

    Joined:
    Aug 13, 2008
    Messages:
    1,618
    Likes Received:
    3,229
    Occupation:
    Retired
    Location:
    Old Peoples Home
    Depends what you want the license check to do - feel free to get me on Skype (custombot) and I can try to help. Don't know C# but I have put in a simple system to do licensing on my bots.

    Remember though, licensing systems are only for honest people - if someone wants to crack your system they will unless you have a lot of time and money :)

    FB
     
  4. welly_59

    welly_59 Power Member

    Joined:
    Aug 30, 2011
    Messages:
    698
    Likes Received:
    258
    Thanks for the replies guys. Really I'm looking for someone who can do this for me as it's a bit beyond me at present
     
  5. Diplomat

    Diplomat Jr. VIP Jr. VIP

    Joined:
    Oct 25, 2011
    Messages:
    971
    Likes Received:
    468
    Home Page:
    What you can do is encrypt your whole code which downloads a dynamic encryption key which allows your bot to encrypt and run your whole code :) Pretty difficult to do, but should work.
    Or you can just send a simple HTTPS request and get a key that your software accepts. That's probably the worst idea because it's not very difficult to monitor that kind of traffic. HTTPS would help a bit, but plain HTTP is just too easy.
     
  6. TheLoneSynchro

    TheLoneSynchro Regular Member

    Joined:
    Sep 13, 2013
    Messages:
    306
    Likes Received:
    77
    There's many ways you can about this, but the most important thing to realize is that if someone wants around it.. they'll get around it. The simplest solution would just be a user/password/uuid setup in a database. Verify that the user is logged into the correct account for the uuid (license key) before allowing them to proceed. That's licensing at it's most basic form.
     
  7. soulcollector

    soulcollector Senior Member

    Joined:
    May 10, 2014
    Messages:
    833
    Likes Received:
    303
    Location:
    USA
    The program can still be cracked by server emulation. People cracked mmorpgs using advanced encrypt methods, and people have cracked Adobe products. This really comes down to how much money is worth to keep people from getting your product for free vs just simply stating that if you like the product buy it or refer buying friends to the product.
     
  8. TheLoneSynchro

    TheLoneSynchro Regular Member

    Joined:
    Sep 13, 2013
    Messages:
    306
    Likes Received:
    77
    Not to mention, most licensing systems can easily be removed by simple decompiling a program and removing the licensing checks, then returning fake values to the callback. (Or deleting the callbacks all together and bypassing the entire process). Like I said, "if someone wants around it.. they'll get around it". A method I used back in the day was dynamically loaded scripts. It required quite a bit of bandwidth though. People could still get around it by faking the right data to the server, but when the core functionality of the program isn't tangible it makes it a little harder to "get it for free". However, keep in mind that someone dedicated can still intercept the encrypted scripts, store them locally, and adjust the paths in the application to load them from disk.

    It's just like soulcollector said, how much money is it worth to keep people from getting your product for free? In most cases a simple solution is all it takes. The people who are going to try to crack your application aren't going to buy it anyway, chances are. Just sell to the honest.