From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How do I protect my EXE from piracy?

I am writing a software only package using Labview 6.1. How can I build in some Registration/Activation method to minimize piracy?
Message 1 of 5
(3,740 Views)
If you build an application (.EXE) "they" won't be able to look at the source. To protect it from unauthorized distribution is more difficult, a problem that is being continuously discussed in the software industry. A simple serial number entry to do an install only works if you have a means to confirm that the number isn't being used elsewhere, ala XP online registration. Other software uses "dongles", hardware keys that hang off the parallel or usb port, containing either passwords or in some applications, parts of the actual code, encrypted to make it harder to hack.  There hasn't been a means discovered that is unhackable, most of these just try to make in inconvenient enough to limit illegal copies.
 
P.M.
Putnam
Certified LabVIEW Developer

Senior Test Engineer North Shore Technology, Inc.
Currently using LV 2012-LabVIEW 2018, RT8.5


LabVIEW Champion



Message 2 of 5
(3,734 Views)
We use a hardware "dongle" off the parallel port. It's pretty cheap ($40). The software verifies the number on the dongle before it can run. I don't know of a better way.
 
Paul
PaulG.

LabVIEW versions 5.0 - 2020

“All programmers are optimists”
― Frederick P. Brooks Jr.
Message 3 of 5
(3,723 Views)
One can also read the hard disk serial number,noted it (in VI as numerical value) and then make a case statement
such that if the program is transferred to another machine/hard disk then it automatically
exits Labview. Making the 'exe' exist labview environment means that it is very painstaking for
others to debug.

Nodoubt there are other methods!

chow
xseadog
Message 4 of 5
(3,683 Views)

The problem with noting the hard drive serial number and recording it is, where? If you have an executable it won't get saved in the code, unless it will only be run on the computer that you build it on. If the intention is to distribute the code you still have the problem of determining if it has been installed elsewhere and whether the current installation is legitimate. Unless you plan a rather involved system of online registration or the user calling for a magic key to type in  (that you will have to have be some how different for each installation), you almost have to use some hardware key. These are fairly easy to implement, fairly reliable, and not too expensive, but depending on the price of the package you are intending to distribute, they still might be a sizable percentage of the cost to the end user. They also are very annoying to the end user if there are legitimate instances where the program might be moved from computer to computer. Where I used to work we did some development with a software package that required a dongle. As some of the developers would either work off site or actually be going to the customer's, we would run into instances where we ran out of dongles, with some at someones home office, or forgotten onsite at a customer's, etc. Real pain. One of the packages we used got around this by having fully functional software, with a "no dongle" time limit. You could use it for a few days without the dongle. As this software was frequently running very big and VERY expensive process lines the failure of a dongle could have cost the customer a great deal of money otherwise.

 

P.M.

Putnam
Certified LabVIEW Developer

Senior Test Engineer North Shore Technology, Inc.
Currently using LV 2012-LabVIEW 2018, RT8.5


LabVIEW Champion



Message 5 of 5
(3,644 Views)