Google Answers Logo
View Question
 
Q: How to protect a VB.NET application from unauthorized distribution? ( Answered 5 out of 5 stars,   2 Comments )
Question  
Subject: How to protect a VB.NET application from unauthorized distribution?
Category: Computers > Programming
Asked by: gethelp-ga
List Price: $10.00
Posted: 09 Dec 2002 01:49 PST
Expires: 08 Jan 2003 01:49 PST
Question ID: 121722
I designed an application on VB.NET. Now I need to implement some kind
of licensing system so that the evaluation version can be freely
distributed but with some features disabled. If someone wants to buy
it, as soon as I get the payment (does not mater how) I will take the
name of the licencee and issue a licence key. As soon as that name and
the code is entered, the software becomes registered on that name,
which that will appear on the screen and on all printed reports, so
people won't be able to share licence codes. It should not involve any
hardware. Also it should not require the Internet connection, because
I have to be able to give the licence key over the phone to activate
the program on a computer that is not connected to the internet.
Pretty common concept...

I'd prefer to implement it on my own rather than buying a third party
software unless I absolutely have to (by the way, what is the best
third party solution out there?)

Here is my question - what is the best way to implement it? What is
the best paractice in general? How others are doing it?

Thanks in advance to all who will respond.

Regards,
Vlad.
Answer  
Subject: Re: How to protect a VB.NET application from unauthorized distribution?
Answered By: theta-ga on 10 Dec 2002 12:31 PST
Rated:5 out of 5 stars
 
Hi gethelp-ga,
    The first step in implementing any software licensing/anti-piracy
system is to realise that there is no perfect system to do what you
want. People who are really interested in using your application for
free, will find some way to crack/circumvent your registeration
process.
    Also, articles on how you can implement software schemes are few
and far indeed. Most of the people with reasonably successful
protection schemes, try to keep them under wraps in order to make it
harder for people to circumvent them. This meant that although I was
unable to find articles specific to vb.net, I did find artcles and
source code for VB6, detailing the steps you need to take. Since you
appear to be a fairly experienced programmer, I believe that you will
not have any problem in understanding and adapting these.
Here they are :
  
 - COMponent Builder: Protect Your Application   by Monte Hansen 
   from the July 2001 isuue of the Visual Basic Programmers Journal
   ( http://www.fawcette.com/archives/listissue.asp?pubID=1&MagIssueId=400#
)
   This article shows you how to implement a License key protection
for your program, avoiding some common mistakes. You can get the
sample code from ( http://killervb.com/LicenseKey.aspx )

 - ACTIVELOCK
   ActiveLock is a free ActiveX control that can be used to protect
your VB programs from piracy, add registration features to your
softwares and create trialware. You can download the source code from
the site given below, and see how the solution is implemented.
          - ActiveLock v1.7
            ( http://www.activelock.com/faq.html )
   Be sure to check out the following tutorial :
          - How to Use ACTIVELOCK 
            ( http://www.internetion.net/ActiveLock/activelock.asp )

- The following freely downloadable VB code snippet demonstrates
another way you can generate a serial key for your application.
              - Code Snippet by Stephen Blaising
                ( http://www.vbcode.com/asp/showsn.asp?theID=2187 )

============
  You can also find a number of ideas on how to protect software
written in VB on Google Groups. Check out the following discussions :

  - Subject: Any suggetions ? 
    Newsgroups: alt.comp.shareware.programmer
    ( http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&selm=9vs6gq%24rd2%2400%241%40news.t-online.com&rnum=1
)

  - Subject: developing a software license scheme 
    Newsgroups: microsoft.public.vb.general.discussion
    ( groups.google.com/groups?hl=en&lr=&ie=UTF-8&threadm=e7UxmekbCHA.392%40tkmsftngp09)

   - Subject: How can VB get the unique hardware ID? 
     Newsgroups: microsoft.public.vb.enterprise
     ( http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&threadm=efGVQ13%23BHA.2384%40tkmsftngp02
)

====================
  The following articles contain some general tips and tricks you
should keep in mind while writing code for your software protection
functions :
  - Anti Cracking FAQ How to make cracking your programs a little
harder
    ( http://www.inner-smile.com/nocrack.phtml )
  
  - Defending Shareware Against Cracks   by Adam Smith
    ( http://www.senseofsecurity.com/sharenc.asp )

  - Protect your programs from piracy
    ( http://webdon.com/vitas/antihack.asp )

  - How To Protect Better
    ( http://www.searchlores.org/protec/protec.htm )

====================
COMMERCIAL SOLUTIONS
    Most of the major software vendors do not spend their time
implementing custom software solutions, instead they use commercial
off the shelf solutions to protect their products. Note that even
these commercial solutions are not entirely crack proof. In fact, you
will find that the more popular the program, the faster its software
protection is cracked. However by offloading the protection task to
these commercial products, you can free up your time to concentrate on
improving your software application. Practically all of the ooptions
available today allow you to easily create time/feature limited
versions of your product, that the user can activate by entering a
serial number. Here are a few of these commercial offerings :
      - ASProtect
        Individual Developer License : $99
        ( http://www.aspack.com/asprotect.htm )

      - Armadillo
        Basic Version : $89
        ( http://www.siliconrealms.com/armadillo.htm )
      
      - FlexLM by Globetrotter Software
        ( http://www.globetrotter.com/ )

      - Protection PLUS
        Standard Edition : $349
        ( http://www.softwarekey.com/plus/ )

      - Privilege Usage Builder   by Alladin Softwares
        ( http://www.ealaddin.com/privilege/protecting_preparing.asp )

      - ShareDog
        $49.95
        ( http://www.kingtigerchina.com/index.htm )

You can find a lot more products by doing a search on Google for
"software protection"
================
Hope this helped.
If you need any clarifiactions, just ask!
:)

------------------------------------------
Google Search terms used :
       vb.net registration piracy
       piracy vb.net serial key 
       visual basic piracy register crack software how vb

Google Groups Search Terms used :
      .net serial key protection
      .net serial key protection group:microsoft.public.vb.*
      serial key piracy vb .net
      software protection piracy vb.net
      developing a "software license scheme"
gethelp-ga rated this answer:5 out of 5 stars and gave an additional tip of: $1.00
The answer is very hepfull, it saved me quite a few hours of research.
Very structured and well organized. No junk, no water, just the mater.

Comments  
Subject: Re: How to protect a VB.NET application from unauthorized distribution?
From: lamoonman-ga on 14 Apr 2004 22:06 PDT
 
Try ElecKey.

http://www.sciensoft.com/archive/program/ekexp.zip
Subject: Re: How to protect a VB.NET application from unauthorized distribution?
From: hakris-ga on 23 Aug 2004 07:01 PDT
 
http://scout.wisc.edu/Reports/NSDL/MET/2002/met-020719-topicindepth.html
has in-depth explanation about data security.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy