Strategies for Stoping non customers from using my software

I am trying to come up with a simple solution to people who "borrow" my software from a friend.  I would like to have a 30 day period for trial use, then stop anyone from reinstalling the program again unless there is an unlock code.

Any recommendations




Answer this question

Strategies for Stoping non customers from using my software

  • Elv

    I've been working through this with a client over the last few months. We've settled on a two-part solution. First, we're implementing the licensing scheme that Doug Hennig described in FoxTalk a couple of years back. (If you can't figure out which issue, let me know and I'll dig it out again.) This scheme requires one communication (phone, fax or email) when the software is initially installed. It does offer trial/demo use.

    Second, we're using Cryptor to encrypt key tables so that certain fixed information can't be modified if the application is copied onto someone else's machine.

    The main goal for this client was to cut down the labor involved in distributing and updating the app, while still preventing casual theft. We took the attitude that those determined to steal the application would never pay for it anyway, so the targets of our efforts are the folks who don't realize that it's not okay to share.

    Tamar

  • Sid #.net

    Sorry to forget to mention but this is all on single user systems, there is NO networking involved or permitted.



  • CodeOptimist

    i ve 2 questions

    (1)Sir i haved developed an application on Visual Basic programming, i need a security that if i sold it out, i will give it a numbers of days or month that it will not work again expect if they contact me for the upgrade

    (2). how can i protect my software that pepple will not be able to copy or write it again without my key permission



  • VinuM

    popson wrote:

    i ve 2 questions

    (1)Sir i haved developed an application on Visual Basic programming, i need a security that if i sold it out, i will give it a numbers of days or month that it will not work again expect if they contact me for the upgrade

    (2). how can i protect my software that pepple will not be able to copy or write it again without my key permission

    This is a Visual FoxPro forum. To ask specific questions on VB, depending on the version, you can try here:

    VB Express:
    http://forums.microsoft.com/MSDN/ShowForum.aspx ForumID=159&SiteID=1

    VB.NET:
    http://forums.microsoft.com/MSDN/ShowForum.aspx ForumID=32&SiteID=1

    VB6:
    http://forums.microsoft.com/MSDN/ShowPost.aspx PostID=551512&SiteID=1


  • jborland

    Don,

    You will probably get better answers as I am a corporate developer, therefore I do not deliver or sell software.

    That said, here's my $.02:

    You could limit the number of records on each table to say 10 or 50 until software is unlocked.

    You could use a hardware dongle (more expensive solution).

    You should record some feature of the machine it was intended to run in, such as MAC address. Downside is what happens when they upgrade boxes or network cards Do they contact you for reactivation

    If possible you should require activation through internet. Therefore, they would have to login) or the program would to send a key and request an activation key from your website.

    You can see a free sample of an Authentication Code app in VFP by Greg Reichert.
    in the UT as Download #26815 (AuthCode.Zip)
    http://www.universalthread.com
    (free login required)

    Whatever means you use (registry key, ini file,  hidden file somewhere), make sure you use strong encryption for the key.

    See:
    http://fox.wikis.com/wc.dll Wiki~CopyProtection
    http://fox.wikis.com/wc.dll Wiki~RetrievingHardwareInformation

    Encryption:
    http://www.sweetpotatosoftware.com/SPSBlog/PermaLink,guid,db662a8f-d47c-46c8-b0d2-a591c20d024b.aspx
    http://fox.wikis.com/wc.dll Wiki~CryptoAPI


  • Sivya

    Forgot to mention, one way to get the MAC Address is something like this (may not work depending on OS):

    Clear
    cBox = Alltrim(Left(Sys(0),At("#",Sys(0))-1))
    oQuery = GetObject("winmgmts:\\"+cBox)
    oAdapters = oQuery.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration")

    FOR EACH oAdapter IN oAdapters
       IF oAdapter.IPEnabled
          "Caption="+Transform(oAdapter.Caption)
          "IPAddress="+Transform(oAdapter.IPAddress[0])
          "MACAddress="+Transform(oAdapter.MACAddress)
          "IPXAddress="+Transform(oAdapter.IPXAddress)
          "ServiceName="+Transform(oAdapter.ServiceName)
       ENDIF
    NEXT


  • Strategies for Stoping non customers from using my software