LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to protect LabView executables?

I'm using AppBuilder to distribute LabView executables. Does anyone know how I can restrict the program so that it will only run on 1 computer, based on some info that I extract from this computer. I'd like to do this without going to a CIN, and I'd like something that is not easily foiled.
0 Kudos
Message 1 of 6
(3,873 Views)
There's a couple of approaches. One is the hardware dongle that hangs off the parallel or serial port. The software for them comes with a DLL or ActiveX control that would be called in your LabVIEW program. For a purely software solution, before the software is installed, the customer would have to provide information about some unique hardware feature of their computer. This could be something like a MAC address or hard drive serial number. You would then generate a unique key based on that information and provide it back to the customer. Your program would have to provide a means of writing the key to the registry and then read it before running the program. My company is acutally implementing something similar to the MAC address keying scheme. I don't know where the key generation software came from exactly but I've seen freeware and shareware programs on the web. A google search will probably turn up quite a few. Of course, you wouldn't want to just hand out a key to just everyone that asked for it. There'd have to be some authentication that someone actually purchased the software and that the number of key requests from a customer matched the number of software liscens purchased. A simple database program can be used for this. All of the key generation and checking could be done by a web program so the customer support issues could be minimized.

I'm not sure that either approach is perfect. The dongle allows a user to easily move a program to a new computer but it's a peice of hardware to keep track of and I know of some occasions where the dongle didn't work with some printers or was damaged. The dongles are something you'll have to buy and pass that cost on.

I think the benefits to software keying are greater for the vendor than for the customer. Appart from inversting in a little time up front for the key generation software and customer tracking database, the vendor doesn't need to do an awful lot. It can be a real pain in the shorts for the customer. A new key is required for a replacement computer, disk drive, network card, new OS installation. I've been in the situation where it's taken several days to get a programming running again when an old computer crashed.

I'm sure that there are other schemes. These are just two of the more secure ones that I know.
Message 2 of 6
(3,873 Views)
Hi,
when SW protection is an issue I use hardware keys.
See www.rainbow.com model Sentinel Superpro.
With the drivers they provide also some example to read the key codes with LabVIEW.
It is an extra cost, but it prevents an application I distribute to be installed in more computers with a good grade of security.
Alberto
Message 3 of 6
(3,873 Views)
Thanks for the suggestions. I'll check these out.
0 Kudos
Message 4 of 6
(3,873 Views)
Thanks. This may be the way to go, or is it, if I have a relatively small number of installations?
0 Kudos
Message 5 of 6
(3,873 Views)
We use Rainbow keys for our normal range of clients but hardware keys are a
pain for some situations. Using MAC address has one potential flaw for
higher priced applications in that there is at least one company that sells
cards with user programmable MAC addresses. Of course, not getting paid is
also a pain.

Duncan
0 Kudos
Message 6 of 6
(3,873 Views)